Azure webjob如何访问托管站点文件夹

问题描述 投票:3回答:2

我们已经在Azure中托管了ASP.Net网站。我编写了一个连续的Web作业,以在队列触发时在后台处理我的一些文件。有时,此过程涉及从URL获取图像并将副本保存在我们网站的预定义文件夹中。

我们已经具有获取图像并将其保存到主站点代码中的文件夹的功能,所以我正在使用它。

[在开发过程中,我手动运行.exe以检查触发器是否有效。一切正常,直到图像上传过程。它无法将路径映射到给定的文件夹。代码在下面,filepath变量始终为null,因此在这里出现异常,作业失败。有一个更好的方法吗?这是因为我手动运行了该作业,还是因为我使用的某些功能使用了错误的方法?

public class MyHelper
{
    public const string UPLOAD_URL = "/Uploads/";

    // other functions
    // ....

    private static void GetFileLocation(string prefix, string imageName, out string fileUrl, out string saveLocation)
    {
        var filename = imageName;

        // filepath is always null
        var filePath = HostingEnvironment.MapPath(UPLOAD_URL);
        fileUrl = Path.Combine(UPLOAD_URL, filename);

        // this here throws the exception because filepath is null
        saveLocation = Path.Combine(filePath, filename);
    }
}

感谢任何对此的见解。谢谢!!

我们已经在Azure中托管了ASP.Net网站。我编写了一个连续的Web作业,以在队列触发时在后台处理我的一些文件。有时,该过程涉及从url获取图像...

c# asp.net azure-webjobs
2个回答
1
投票

您只能写入网站的根文件夹。该webjob驻留在目录中。

app_data / jobs / continuous / etc


0
投票

显然,您可以写入%HOME%\site\wwwroot,但对我而言不起作用,因此我使用绝对路径写入Azure Web App中的任何位置:D:\home\site\wwwroot

© www.soinside.com 2019 - 2024. All rights reserved.