子文件夹没有在azure上创建asp.net mvc5应用程序



我在azure上运行我的网站,每个文件夹都存在于azure的站点目录中,但uploadimages是我的子文件夹,内容不在wwwroot中,图像也没有上传我正在使用var path = path . combine (Server.MapPath("~/Content/UploadImages/")+filename);文档上传也一样

根据你的描述,我已经在我这边进行了测试,请按照下面的说明看看是否对你有帮助。正如你所说,你得到的目标文件路径通过以下代码:var path = path . combine (Server.MapPath("~/Content/UploadImages/") + filename);在上传文件之前,请确保web服务器上的目录"~/Content/UploadImages/"存在。

下面是我的测试代码:

MVC控制器方法

[HttpPost]
public JsonResult UploadFiles()
{
    try
    {
        foreach (string file in Request.Files)
        {
            var fileContent = Request.Files[file];
            if (fileContent != null && fileContent.ContentLength > 0)
            {
                var stream = fileContent.InputStream;
                var fileName = Path.GetFileName(fileContent.FileName);
                string baseDir = Server.MapPath("~/Content/UploadImages/");
                if (!Directory.Exists(baseDir))
                    Directory.CreateDirectory(baseDir);
                var path = Path.Combine(baseDir, fileName);
                using (var fileStream = System.IO.File.Create(path))
                {
                    stream.CopyTo(fileStream);
                }
            }
        }
    }
    catch (Exception e)
    {
        return Json(new
        {
            Flag = false,
            Message = string.Format("File Uploaded failed with exception:{0}", e.Message)
        });
    }
    return Json(new
    {
        Flag = true,
        Message = "File uploaded successfully!"
    });
}

此外,从长期考虑,您可以将文件存储在Azure Blob Storage上,这可能会给您带来一些好处,例如:

1。直接向浏览器提供图像或文档
2.为分布式访问存储文件
3.当你扩展你的网站时,你的网站可以在多个Web服务器实例中运行,这些实例可以访问相同的文件&同时文档

详情请参阅此链接:https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-blobs/

最新更新