Я пытаюсь сохранить изображение из веб-ссылки в папку локального проекта ASP.Net "~ Content / Images"
Первоначально я сохранял изображение так:
imgUrl = "http://example.com/myimage.jpg";
imgName = Path.GetFileName(imgUrl);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(imgUrl);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
System.Drawing.Image img = System.Drawing.Image.FromStream(response.GetResponseStream());
img.Save(Server.MapPath("~/Content/Images/" + imgName));
Но мой модульный тест не удался с NullReferenceException
на Server object
в Server.MapPath()
методе.
Затем я попробовал другой способ сохранить изображение.
imgUrl = "http://example.com/myimage.jpg";
imgName = Path.GetFileName(imgUrl);
byte[] data;
using (WebClient client = new WebClient())
data = client.DownloadData(imgUrl);
if (data != null)
{
MemoryStream ioStream = new MemoryStream();
ioStream = new MemoryStream(data);
using (Stream originalBinaryDataStream = ioStream)
{
var path = System.IO.Path.Combine("~/Content/Images/" + imgName);
Image image = Image.FromStream(originalBinaryDataStream);
image.Save(path, System.Drawing.Imaging.ImageFormat.Jpeg);
}
}
Но модульный тест снова не удался.На этот раз с System.Runtime.InteropServices.ExternalException: A generic error occurred in GDI+.
ошибка.
Кстати, приложение работает нормально.Эта проблема возникает только когда я запускаю модульные тесты.
У кого-нибудь есть идеи, как решить эту проблему?