Azure Web应用程序Map未上载到AzureFiles

nwlqm0z1  于 2023-03-31  发布在  其他
关注(0)|答案(1)|浏览(88)

我在linux环境中有一个.NET 7应用,它有一个端点“/API/uploads”,可以接受一个文件并将其保存到一个文件夹“uploaded”中,我正在尝试让这个“uploaded”文件夹Map到AzureFiles
我尝试了以下挂载路径“/uploaded”、“wwwroot/uploaded”和“mounts/wwwroot/uploaded”,但文件从未保存在AzureFiles中,而是保存到“wwwroot/uploaded”文件夹中,而不是通过访问。scm.azurewebsites.netx1c 0d1x
我也遵循了这些步骤https://learn.microsoft.com/en-us/azure/app-service/configure-connect-to-azure-storage?tabs=portal&pivots=code-windows,仍然不能让它工作。
当应用程序启动时,我看到内容根路径是“/home/site/wwwroot”,这就是我尝试“/mounts/home/site/wwwroot/uploaded”失败的原因
我还尝试根据https://learn.microsoft.com/en-us/troubleshoot/azure/app-service/faqs-app-service-linux启用“WEBSITES_ENABLE_APP_SERVICE_STORAGE”

osh3o9ms

osh3o9ms1#

我能够上传的路径成功:/home/site/wwwroot/wwwroot
参考@Tiny Wang@CSharpRocks

string rootPath = this.Environment.WebRootPath;
            try
            {
                _logger.LogInformation("the root path is :" + rootPath);
                if (file != null && file.Length > 0)
                {
                    var fileName = Guid.NewGuid().ToString() + "_" + name;
                    string uploadFilePath = Path.Combine(rootPath, "images", fileName);

                    await using var stream = new FileStream(uploadFilePath, FileMode.Create);
                    await file.CopyToAsync(stream);
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
            }

            return "success:" + rootPath;
        }

  • 确保URL名称替换为应用程序服务名称。

相关问题