我有一个在 Visual Studio 2017 中创建的 ASP.NET Web 应用程序。
在应用程序中有一个表单,用户可以在其中上传文件。上传文件后,我会处理它们并将它们保存在文件系统上:
var photo = Request.Files["file"];
photo.SaveAs("D:\\home");
本地一切工作正常,但当我在 Azure 应用服务上部署应用程序时,它不起作用。
我读到,在 Azure 上,路径
D:\home
应该是可写的。
但是当我尝试代码时,我收到此错误:
Access to the path 'd:\home\test_image.JPG' is denied.
Use %TEMP%
,在 Azure 应用服务 (Windows) 上解析为d:\local
。那是本地机器磁盘,而不是网络存储,因此速度明显更快。它会在应用程序重新启动时被擦除,因此请相应地进行编码。
var tempDirectoryPath = Environment.GetEnvironmentVariable("TEMP");
var filePath = Path.Combine(tempDirectoryPath, Request.Files["file"]);
如果您想要持久性,请改用 Blob 存储。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)