我们已经在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获取图像...
您只能写入网站的根文件夹。该webjob驻留在目录中。
app_data / jobs / continuous / etc
显然,您可以写入%HOME%\site\wwwroot
,但对我而言不起作用,因此我使用绝对路径写入Azure Web App中的任何位置:D:\home\site\wwwroot
。