使用asp.net将文件保存到azure文件

时间:2018-01-15 16:13:08

标签: c# asp.net azure web file-storage

我想要做的目标是拍照并使用dropzone上传它(drop zone对我如何实现它正常工作)并将其加载到NTFS文件系统。我将“uploadpath”存储到我的SQL服务器中,以便稍后可以更快地提取图像。我遇到的问题是我不知道如何将我的图像加载到Azure文件系统。另外,从我收集的blob存储不是我需要使用的,因为这是基于一种表格存储格式,不使用ntfs。

我一直在尝试研究这个,我不知道从哪里开始...我已经阅读了MSDN中的一些文章试图理解它但似乎我一直在寻找的所有内容都与BLOB存储有关。

                foreach (string filename in Request.Files)
            {
                HttpPostedFileBase file = Request.Files[filename];
                fname = file.FileName;
                if (file != null && file.ContentLength > 0)
                {

                    var path = Path.Combine(Server.MapPath("~/uploadeimg"));
                    string pathstring = Path.Combine(path.ToString()); 
                    string filename1 = Guid.NewGuid() + Path.GetExtension(file.FileName);
                    bool isexist = Directory.Exists(pathstring);
                    if (!isexist)
                    {
                        Directory.CreateDirectory(pathstring);
                    }
                    uploadpath = string.Format("{0}\\{1}", pathstring, filename1);
                    file.SaveAs(uploadpath);

至于文档,以下链接是我阅读和浏览过的内容。

File Uploading to Azure Storage by ASP.NET Webpages https://docs.microsoft.com/en-us/azure/storage/files/storage-dotnet-how-to-use-files

https://docs.microsoft.com/en-us/azure/storage/files/storage-dotnet-how-to-use-files

https://docs.microsoft.com/en-us/azure/storage/blobs/storage-dotnet-how-to-use-blobs

我感谢你们能提供的任何帮助。我希望获得更多这种类型的编程经验,我刚刚决定玩,看看我能用它做什么。

我也应该注意。我可以将文件保存在我托管项目的区域中,我也可以以这种方式检索它们。但我不确定这是处理这个问题的正确方法。

2 个答案:

答案 0 :(得分:0)

在Azure上,通常将文件存储在BLOB中。我建议将您的照片存储在BLOB上,而不是将它们存储到Azure Web App中。

保存到Azure BLOB中的所有对象都有自己的URL,您可以将其存储在SQL数据库中以便以后检索它们。

检查https://docs.microsoft.com/en-us/azure/storage/common/storage-decide-blobs-files-disks?toc=%2fazure%2fstorage%2ffiles%2ftoc.json#comparison-files-and-blobs以获得Azure文件和BLOBS之间的清晰比较。

答案 1 :(得分:0)

对于使用本机文件系统API的旧版应用程序,您可以在Azure VM或本地作为网络驱动器mount your Azure File share,然后像本地文件系统一样访问文件共享。您可以利用AzCopy和Azure Storage Explorer来管理文件存储。

对于Azure Web Apps,您无法安装Azure文件共享。默认情况下,Azure Web应用程序内容存储在由Azure端口管理的Azure存储上。您可以利用主目录访问(d:\ home)并将文件存储在Azure Web上。您可以按照Azure Web App sandbox关于文件系统限制/注意事项部分的详细信息。

总之,我们建议您将文件存储到Azure Blob存储中。您可以使用azure存储客户端库与blob存储进行通信,可以按照here进行操作。