Ich versuche, ein Bild von einer bestimmten Website herunterzuladen.
Eigentlich ist mein Code und für Monate in Produktion, aber es ist nicht in der Lage imagens von dieser speziellen WebsiteC# Code zum Herunterladen eines Bildes von einem "nicht so einfach" CDN
Die Bild-URL I ist dies ein herunterladen muß heruntergeladen werden: (zum Beispiel) http://static7.kabum.com.br/produtos/fotos/64297/64297_index_g.jpg
Die Codes ich bisher versucht:
Methode 1 -> (gescheitert)
string url = "http://static7.kabum.com.br/produtos/fotos/64297/64297_index_g.jpg";
var request = (HttpWebRequest)WebRequest.Create(url);
request.Timeout = (timeout == 0 ? 30 : timeout) * 1000;
request.KeepAlive = false;
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36";
var response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
const int BUFFER_SIZE = 16 * 1024;
var buffer = new byte[BUFFER_SIZE];
// if the remote file was found, download it
using (Stream inputStream = response.GetResponseStream())
using (Stream outputStream = File.Create(fileName, BUFFER_SIZE))
{
int bytesRead;
do
{
bytesRead = inputStream.Read(buffer, 0, buffer.Length);
outputStream.Write(buffer, 0, bytesRead);
} while (bytesRead != 0);
}
}
Methode 2 -> (auch nicht)
[..]
using(Image webImage = Image.FromStream(response.GetResponseStream()))
{
webImage.Save(fileName);
}
[..]
Beide Methoden versagen mit der folgenden exception
„Parameter nicht gültig“ exception Lade System.Drawing.Image
Stacktrace = "em System.Drawing.Image.FromStream (Stream-Stream, Boolesche VerwendungEmbeddedColdManagement, Boolean validateImageData) in System.Drawing.Image.FromStream (Stream-Stream) in MonitorLib.Helper.RequestPageHelper.RequestDowloadPage (Boolean Proxy, Strin ...
Ich denke, die Bilddaten unvollständig oder verdichtet wird, aber die URL funktioniert auf jedem Browser
irgendwelche Gedanken in Ordnung? vielen Freunden
Das hat funktioniert, danke m8 – user5199217