为了账号安全,请及时绑定邮箱和手机立即绑定

从“file://A/”获取文件

从“file://A/”获取文件

C#
拉风的咖菲猫 2022-07-23 17:30:27
如何从与本地计算机相同的外部路径获取文件"file://A/B/C/D/" 我可以访问“file://”的路径但用户无权访问。现在我想从“file://A/B/C/D/”中读取一些文件并让用户下载。我该怎么做?(当前目录为“ https://localhost:44331/ ”)public async Task<IActionResult> DownloadDocument(string berichtsnummer){   var constantPath = "file://A/B/C/D/";   using (FileStream fileStream = System.IO.File.OpenRead(constantPath))   {      MemoryStream memStream = new MemoryStream();      memStream.SetLength(fileStream.Length);     fileStream.Read(memStream.GetBuffer(), 0, (int)fileStream.Length);     return File(fileStream, "application/octet-stream");   }}当我单击下载链接时,我收到此错误:“IOException:文件名、目录名或卷标的语法不正确:” [
查看完整描述

2 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

本地文件路径不是“file://”。您可以使用本地文件路径正常读取文件

var path = "C:\\...";

然后将内容发送到客户端浏览器。

如果文件不在本地计算机上,唯一的方法是使用网络共享访问它。然后您可以使用 UNC 路径,例如

var path = @"\\Server\Path\...";


查看完整回答
反对 回复 2022-07-23
?
梦里花落0921

TA贡献1772条经验 获得超6个赞

将 constantPath 更改为"\\\\A\\B\\C\\D\\"


private string[] GetListOfDocumentLink()

{

   string path = string.Empty;

   string constantPath = "\\\\A\\B\\C\\D\\";


   string folderName = string.Empty;

   string year = string.Empty;

   // determine folderName and year.  


   path = constantPath

        + Path.DirectorySeparatorChar.ToString()

        + folderName

        + Path.DirectorySeparatorChar.ToString()

        + year;


        var filter = Berichtsnummer + "*.pdf";


        string[] allFiles = Directory.GetFiles(path, filter);

        return allFiles;

}

现在您可以发送pathtoDownloadDocument方法:


public async Task<IActionResult> DownloadDocument(string path)

{

   byte[] berichtData = null;

   FileInfo fileInfo = new FileInfo(path);

   long berichtFileLength = fileInfo.Length;

   FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);

   BinaryReader br = new BinaryReader(fs);

   berichtData = br.ReadBytes((int)berichtFileLength);


   return File(berichtData, MimeTypeHelper.GetMimeType("pdf"));

}


查看完整回答
反对 回复 2022-07-23
  • 2 回答
  • 0 关注
  • 151 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信