asp.net 从服务器下载文件

xxe27gdn  于 2023-10-21  发布在  .NET
关注(0)|答案(1)|浏览(146)

我的web主机服务器xxxx.sth是windows
我的文件服务器zzz.xxx.sth是Linux
我的文件位于zzz.xxx.sth和我的主机是在xxx.sth,我想做一些协议或什么从服务器下载。
**想象一下,我有一个Web应用程序,人们搜索PDF文件,找到文件后,我应该给予他们一个下载链接。

这是我的问题,如何创建主机和下载服务器之间的方式,我使用Asp.net核心。

  • 文件服务器上没有运行应用程序 *

pw9qyyiw

pw9qyyiw1#

很难找到. Net的NFS客户端库。您可以先通过Windows挂载NFS服务器。然后改为访问windows路径。
要启用此功能,请访问控制面板-->打开/关闭Windows功能--> nfs x1c 0d1x服务
在无法使用nfs功能后,您可以在命令提示符下执行以下命令:
showmount -e zzz.xxx.sth//检查你的nfs文件夹。
mount -o anon \\zzz.xxx.sth\nfs_share_folder Z://将nfs文件夹挂载到windows路径Z:\
然后在项目中,你可以做一个文件下载API如下:

[HttpGet("DownloadFile")]
        public IActionResult DownloadFile()
        {
            var path = Path.Combine("Z:\\Sample.pdf"); 
            byte[] bytes = System.IO.File.ReadAllBytes(path); //get bytes

            var contentType = "";
            new FileExtensionContentTypeProvider().TryGetContentType(path, out contentType);

            var result = new GetFileDownload()
            {
                Result = "OK",
                FileName = "Sample.pdf",
                MimeType = contentType,
                File = bytes
            };
            return result == null ? NotFound() : Ok(result);
        }

相关问题