asp.net-mvc - 在 azure 中使用 asp.net 在本地驱动器中创建 CSV 文件
问题描述
我有一个 webapp,我可以在其中创建 csv 文件并将其定位在我的 c 驱动器中,
在本地运行时它工作正常,但是一旦我将应用程序部署到 Azure
我越来越 :
UnauthorizedAccessException:对路径“C:\Tuesday_HH19_MI6.csv”的访问被拒绝。
如何允许网站访问并在用户的本地驱动器中创建文件?
如果这有帮助,我附上了 azure 的整个日志异常,谢谢
解决方案
在 Azure 中运行的 Web App 不能直接将其保存到用户的本地驱动器,但它可以生成 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"
};
}
推荐阅读
- python - /api/register/ 'module' 对象的 TypeError 不可调用
- kubernetes - AKS 群集创建失败并出现错误“安全规则具有无效的端口范围”
- xamarin.forms - 图片太大
- github-pages - 从新创建的 github 页面获取 304 响应
- node.js - Keycloak:使用 keycloak-admin 为用户生成访问令牌
- node.js - err_http_headers_sent]:在从服务器获取电子邮件时,无法在将标头发送到客户端后设置标头
- node.js - node.js 中 express 和 process.on('uncaughtException) 处理的错误
- r - 为什么使用 mfrow() 时我的图会被拉伸?
- android - Java Lang NoSuchFieldError 可发布参考管理器
- kivy - 如何摆脱 Kivymd Hot reload Viewer Error