0

기본적으로 WebBrowser 컨트롤에로드 된 이미지를 저장하지 않습니다. 이 작업을 지금 당장 수행 할 수있는 유일한 방법은 저장 대화 상자를 표시하는 것입니다.WebBrowser.ShowSaveAsDialog() 또는 대체 방법 자동화

경로가 전달되어 저장되도록하는 방법은 무엇입니까? (내가 보여줄 것을 요구하는 대화 상자를 숨 깁니다!)

이미지를 저장하는 다른 방법이 있습니까? 나는 documentstream을 작동시키는 것처럼 보이지 않는다. 또한 webclient.filedownload(...)을 시도했지만 오류 302 ("(302) Found Redirect")가 발생했습니다.

DownloadFileAsync 오류없이 빈 jpeg 파일을 제공합니까?

파일은 항상 jpeg이지만 항상 같은 위치에있는 것은 아닙니다.

답변

0

HttpWebRequest으로 가야합니다.

자동으로 302를 따라갈 수 있습니다.

var myHttpWebRequest = (HttpWebRequest)WebRequest.Create("http://www.contoso.com"); 
//increase this number if there are more then one redirects. 
myHttpWebRequest.MaximumAutomaticRedirections = 1; 
myHttpWebRequest.AllowAutoRedirect = true; 
var myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();  

var buff = new byte[myHttpWebResponse.ContentLength]; 

// here you specify the path to the file. The path in this example is : image.jpg 
// if you want to store it in the application root use: 
// AppDomain.CurrentDomain.BaseDirectory + "\\image.jpg" 
using (var sw = new BinaryWriter(File.Open("c:\\image.jpg", FileMode.OpenOrCreate))) 
{ 
    using (var br = new BinaryReader (myHttpWebResponse.GetResponseStream())) 
    { 
     br.Read(buff, 0, (int)myHttpWebResponse.ContentLength); 
     sw.Write(buff); 
    }    
} 
+0

예, 내가 작동해야하는 다른 곳에서 읽었습니다. 코드를 시도했지만 여전히 302가 있습니까? 파일 저장 위치는? (출력 경로 지정 방법) –

+0

작은 버그가 있습니다. :) 이 시도. 리디렉션되는 이미지에 대한 링크를 공유 할 수 있습니까? – albertjan

+0

나는 데이터를 공유 할 수 없다고 들었다. 여전히 4 번 줄에서 리디렉션 오류가 발생합니다. 리디렉션을 차단할 수 있습니까? 왜 이런 일이 벌어지는 지 알 수 없습니다. 프로필 사진을 웹 브라우저에서보고 괜찮 았을 때 이미지에 머무르면 아무데도 리디렉션되지 않습니까? –

관련 문제