Azure 中的文件存储。 GDI+ 中出现一般性错误

File storage in azure. A generic error occured in GDI+

我将文件保存为:

var i2 = new Bitmap(image);
i2.Save(Server.MapPath(@"~\Images\Ads\" + filename));

我遇到错误:

"System.Runtime.InteropServices.ExternalException (0x80004005): A generic error occurred in GDI+. at System.Drawing.Image.Save(String filename, ImageCodecInfo encoder, EncoderParameters encoderParams) at System.Drawing.Image.Save(String filename, ImageFormat format) at System.Drawing.Image.Save(String filename)

如何检查 ImagesAd 文件夹是否存在?

我的图像保存在哪里?我可以看到 Ad 目录及其中的所有文件吗?

注意:我想使用azure简单文件存储来临时存储文件。我不想使用 azure blob。

您可以在Kudu控制台应用程序目录中查看图片,如果上传了其他文件,您将在那里获得详细的错误日志

Using KUDU with Microsoft Azure Web Apps

对于一般灵活共享文件存储,尝试使用 Azure Blob 存储 -

我得到了他的错误,因为我的 Ads 目录不存在。

如果目录不存在,Azure 不会自行创建目录。我只是用这个:

    Directory.CreateDirectory(Server.MapPath(@"~\Images\Ads\");

如果目录不存在则创建一个目录。

尽管这不是您的问题,但请谨慎使用此解决方案。一旦 Azure 需要重启您的机器(硬件故障、更新),它就会在新服务器上启动您的站点,并且您的 Images\Ads 文件夹将会消失。为此,您最好利用 Azure Blob 存储。在他的视频中查看 Scott Hanselman 是如何做到这一点的:http://www.hanselman.com/blog/PennyPinchingVideoMovingMyWebsitesImagesToTheAzureCDNAndUsingACustomDomain.aspx