首页 > 解决方案 > Azure 网站文件上传文件未找到异常

问题描述

我在 Azure 中有一个 Web App 类型的应用服务作为付费计划,并试图允许 asp.net 核心站点上的表单将文件上传到 Web 根目录之外的目录中。不确定这是否是一个因素,但主分支上的 git 存储库配置了持续集成。

我编写的代码在本地工作,但在 Azure 上执行时会引发此错误。

System.IO.FileNotFoundException:找不到文件“D:\home\site\wwwroot\wwwroot\fullsteam-uploads\20190627_1239023614_015157371.png”。文件名:System.IO.FileStream.ValidateFileHandle(SafeFileHandle fileHandle) 中的“D:\home\site\wwwroot\wwwroot\fullsteam-uploads\20190627_1239023614_015157371.png”。 FileOptions 选项)在 System.IO.FileStream..ctor(字符串路径,FileMode 模式,FileAccess 访问,FileShare 共享,Int32 bufferSize,FileOptions 选项)在 pcs_fullsteamapi.Services.FilesService.SaveLeadsFiles(LeadsModel 模型)在 D:\a\1 \s\pcs-fullsteamapi\Services\FilesService.cs:第 31 行

代码的相关部分

model.FileNames = new List<Tuple<string, string>>();
foreach (var file in model.Files)
{
    var fileName = GetFileName(model.PipelinePersonId.ToString(), file);
    await file.CopyToAsync(new FileStream(destinationPath + "\\" + fileName, FileMode.Create));
    model.FileNames.Add(new Tuple<string, string>(file.FileName, fileName));
}

该路径与服务器完全匹配,fullsteam-uploads 是一个空目录。第 31 行是 await file.Copy。

标签: azure.net-core

解决方案


推荐阅读