使用ASP MVC从远程服务器下载文件

丹·黑斯廷斯

我有可以使用控制器访问的网络驱动器。例如“ \ mydrive \ filestorage”。我希望用户能够下载存储在此服务器上的文件。这意味着我无法使用URL,因为这些文件不在Web服务器根目录之外。我也无法为此驱动器设置Web服务器,除了使用控制器读取文件并以这种方式下载文件外,我没有其他方法可以访问此数据。

我已经找到一些教程来针对服务器上的文件执行此操作,但是当使用远程文件时,我无法使其正常工作。我想要一个下载链接,单击它,然后下载文件。这是我的代码

public ActionResult DownloadFile(string id)
{
    UploadedDocument document = new UploadedDocument(Int32.Parse(id));
    string filecontents = System.IO.File.ReadAllText(document.FilePath);
    string filetype = Helpers.GetMimeType(document.FilePath);
    return File(filecontents, filetype);
}

我得到以下异常

System.IO.DirectoryNotFoundException:找不到路径'C:\ inetpub \ wwwroot ...的一部分...

filepath变量将是网络驱动器的路径。

\\Netdrive\Uploads\somefile.txt

文件内容和文件类型的2个变量已正确填充。返回文件时将引发异常。当我在调试模式下运行代码时,将按以下方式填充2个变量。

filecontents = "test\r\n"
filetype = "text\plain"
费德里科·迪皮玛(Federico Dipuma)

File(string, string) 需要一个文件名和一个mime类型,但是您正在将文件内容作为字符串传递。

通过这种方式直接从网络驱动器中提供文件:

public ActionResult DownloadFile(string id)
{
    UploadedDocument document = new UploadedDocument(Int32.Parse(id));
    string filetype = Helpers.GetMimeType(document.FilePath);
    return File(document.FilePath, filetype);
}

要强制下载文件(并绕过默认的浏览器设置文件处理,例如浏览器中显示的PDF),请添加文件名作为File方法的第三个参数:

return File(document.FilePath, filetype, "myFileName.pdf");

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用django从远程服务可下载文件(巨大)

来自分类Dev

使用Java从服务器下载文件

来自分类Dev

在Android中使用IntentService从服务器下载文件

来自分类Dev

使用通用处理程序从服务器下载文件

来自分类Dev

使用FtpWebResponse下载文件-即使从ftp服务器中删除文件,也可以下载文件?

来自分类Dev

使用正则表达式从FTP服务器下载文件

来自分类Dev

使用angularjs从服务器下载文件

来自分类Dev

尝试使用angularJS和C#WebAPI从服务器下载文件

来自分类Dev

使用Swift从服务器下载文件

来自分类Dev

如何使用$ _SERVER ['DOCUMENT_ROOT']从服务器下载文件

来自分类Dev

使用ASP MVC从远程服务器下载文件

来自分类Dev

MVC从远程服务器下载文件

来自分类Dev

Java连接到FTP服务器并使用Java默认库下载文件

来自分类Dev

如何在不使用具有下载属性的<a>元素或服务器的情况下下载文件?

来自分类Dev

使用Python从包含给定字符串的FTP服务器下载文件

来自分类Dev

使用PHP或Python从FTP服务器读取或下载文件的5kb,而不是下载或读取整个文件

来自分类Dev

如何让ASP.NET页知道何时可以从服务器下载文件

来自分类Dev

使用Flask和JS从服务器下载文件

来自分类Dev

当文件位于其他服务器上时,使用ASP.Net MVC在浏览器中强制下载文件,而无需先在我的服务器上下载文件

来自分类Dev

使用FtpWebResponse下载文件-即使从ftp服务器中删除文件,也可以下载文件?

来自分类Dev

如何使用$ _SERVER ['DOCUMENT_ROOT']从服务器下载文件

来自分类Dev

为什么我不能使用wget从此服务器下载文件?

来自分类Dev

使用WinSCP和get命令从Unix服务器下载文件

来自分类Dev

MVC从远程服务器下载文件

来自分类Dev

使用scp从服务器下载文件时出错

来自分类Dev

为什么使用 AJAX 下载文件会冻结整个 PHP Web 服务器?

来自分类Dev

使用 Python 中的 Paramiko 从远程命令列出的 SFTP 服务器下载文件

来自分类Dev

不使用 JSch 从 SFTP 服务器下载文件

来自分类Dev

使用vuejs从php服务器下载文件

Related 相关文章

  1. 1

    使用django从远程服务可下载文件(巨大)

  2. 2

    使用Java从服务器下载文件

  3. 3

    在Android中使用IntentService从服务器下载文件

  4. 4

    使用通用处理程序从服务器下载文件

  5. 5

    使用FtpWebResponse下载文件-即使从ftp服务器中删除文件,也可以下载文件?

  6. 6

    使用正则表达式从FTP服务器下载文件

  7. 7

    使用angularjs从服务器下载文件

  8. 8

    尝试使用angularJS和C#WebAPI从服务器下载文件

  9. 9

    使用Swift从服务器下载文件

  10. 10

    如何使用$ _SERVER ['DOCUMENT_ROOT']从服务器下载文件

  11. 11

    使用ASP MVC从远程服务器下载文件

  12. 12

    MVC从远程服务器下载文件

  13. 13

    Java连接到FTP服务器并使用Java默认库下载文件

  14. 14

    如何在不使用具有下载属性的<a>元素或服务器的情况下下载文件?

  15. 15

    使用Python从包含给定字符串的FTP服务器下载文件

  16. 16

    使用PHP或Python从FTP服务器读取或下载文件的5kb,而不是下载或读取整个文件

  17. 17

    如何让ASP.NET页知道何时可以从服务器下载文件

  18. 18

    使用Flask和JS从服务器下载文件

  19. 19

    当文件位于其他服务器上时,使用ASP.Net MVC在浏览器中强制下载文件,而无需先在我的服务器上下载文件

  20. 20

    使用FtpWebResponse下载文件-即使从ftp服务器中删除文件,也可以下载文件?

  21. 21

    如何使用$ _SERVER ['DOCUMENT_ROOT']从服务器下载文件

  22. 22

    为什么我不能使用wget从此服务器下载文件?

  23. 23

    使用WinSCP和get命令从Unix服务器下载文件

  24. 24

    MVC从远程服务器下载文件

  25. 25

    使用scp从服务器下载文件时出错

  26. 26

    为什么使用 AJAX 下载文件会冻结整个 PHP Web 服务器?

  27. 27

    使用 Python 中的 Paramiko 从远程命令列出的 SFTP 服务器下载文件

  28. 28

    不使用 JSch 从 SFTP 服务器下载文件

  29. 29

    使用vuejs从php服务器下载文件

热门标签

归档