Server.MapPath在Azure上找不到路径

dsb*_*dsb 5 asp.net server.mappath azure

我已将项目部署到Azure。在我的项目中,我有“ App_Data \ Images”文件夹。

现在,我尝试执行以下操作:

String filename = GLOBAL_IMAGES_VALS.GET_FILE_PREFIX(imageType) + "-" + User.Identity.GetUserId<int>().ToString() + Path.GetExtension(image.FileName);

String origPath = Server.MapPath("~\\App_Data")+"\\Images\\"  + filename;
Run Code Online (Sandbox Code Playgroud)

但是然后尝试:

image.SaveAs(origPath);
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

找不到路径“ D:\ home \ site \ wwwroot \ App_Data \ Images \ logo-10003065.jpg”的一部分。

如何将文件保存到“ App_Data \ Images \”

dsb*_*dsb 6

实际的问题是子文件夹“ Images”不存在。我不记得为什么发布过程没有创建此子文件夹,但是我手动添加了它,然后一切正常。

编辑:

正如其他人在这里写的那样(@Spectarion)。我将在这里发表重要的评论,以解释为什么未创建文件夹:

只为将来的读者使用,如果文件夹为空,则不会创建该文件夹。即使项目中不包含文件,文件夹也为空。

只需将一些“ fake.txt”文件放入您想要确保将被创建的任何文件夹中,当然不要忘记将其添加到项目中。祝好运。

  • 只为将来的读者使用,如果文件夹为空,则不会创建该文件夹。即使有些文件未包含在项目中,文件夹也为空。 (2认同)