【问题标题】:creating CSV file in local drive with asp.net in azure在 azure 中使用 asp.net 在本地驱动器中创建 CSV 文件
【发布时间】:2021-03-07 15:24:36
【问题描述】:

我有一个 webapp,我可以在其中创建 csv 文件并将其定位到我的 c 驱动器中,

在本地运行时它工作正常,但是一旦我将应用程序部署到 Azure

我明白了:

UnauthorizedAccessException:对路径“C:\Tuesday_HH19_MI6.csv”的访问被拒绝。

如何允许网站访问并在用户的本地驱动器中创建文件?

如果这有帮助,我会从 azure 附加整个日志异常, 谢谢

【问题讨论】:

    标签: asp.net-mvc azure asp.net-core


    【解决方案1】:

    在 Azure 中运行的 Web 应用无法直接将其保存到用户的本地驱动器,但它可以生成 CSV,然后提示他们通过浏览器下载。您可以使用一些选项,具体取决于您是尝试发送文件系统上已经存在的文件,还是动态生成它并将其作为字节数组或流。

    这里有一些示例控制器方法可以给你和想法。你的控制器可能会在 return 语句之前做很多事情,这些例子被简化了。

    文件系统上的现有文件,使用 FileResult:

    public FileResult DownloadFile()
    {
       // create the file etc and save to FS
       return File("/Files/File Result.pdf", "text/csv", "MyFileName.csv");
    }
    

    如果文件是在内存中生成的并且你将它作为一个字节数组:

    public FileContentResult DownloadContent()
    {
       // Create CSV as byte array
       var myfile = MyMethodtoCreateCSV();
       return new FileContentResult(myfile, "text/csv") { 
          FileDownloadName = "MyFileName.csv" 
       };
    }
    

    【讨论】:

      猜你喜欢
      • 2021-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-27
      • 1970-01-01
      • 2012-11-04
      • 2012-10-07
      • 2014-05-30
      相关资源
      最近更新 更多