【问题标题】:How to upload a local file as link in asp.net如何在asp.net中上传本地文件作为链接
【发布时间】:2018-01-19 12:48:06
【问题描述】:

我想知道如何将本地文件路径添加为链接,添加后我想在单击 asp.net 中的链接时下载文件。

我的代码:

<a href="D:/Sample/test.html" runat="server">

在这里我只是将我的本地路径添加到服务器。但是点击链接时没有做任何事情。我想使用 .zip 文件而不是 .html 文件。请告诉我如何使用链接上传和下载。提前致谢

【问题讨论】:

  • 将文件放入您的项目中,例如:Doc/File1.txt 然后
  • 即使文件在我的项目文件夹中也无法正常工作
  • 你的问题不是很清楚。本地文件路径是什么意思?服务器本身或客户端上的路径。或者您是否尝试通过服务器上的链接引用计算机上的文件?正如@Aamir 指出的那样,您需要一个相对路径。
  • 看看 => on topic
  • @VDWWD 是的,我正在尝试通过服务器上的链接在我的计算机中上传文件

标签: html asp.net vb.net


【解决方案1】:

有很多情况,使用此代码可以做到。

文件上传代码

string FilePath = "";
string[] a = new string[1];
string fileName = "";
string FullName = "";

if (FileUploader.FileName.Length > 0)
{
     a = FileUploader.FileName.Split('.');
     fileName = Convert.ToString(System.DateTime.Now.Ticks) + "." + a.GetValue(1).ToString();
     FilePath = Server.MapPath(@"~\SavedFolder");
     Fup1.SaveAs(FilePath + @"\" + fileName);

     FullName = FilePath + @"\" + fileName;
     // Database Saved Code
}

文件下载代码

string filename = "filename from Database";
Response.ContentType = "application/octet-stream";
Response.AppendHeader("Content-Disposition", "attachment;filename=" + filename);
string aaa = Server.MapPath("~/SavedFolder/" + filename);
Response.TransmitFile(Server.MapPath("~/SavedFolder/" + filename));
Response.End();

【讨论】:

    【解决方案2】:

    我看不到这里的问题。只需添加“~/”即可从项目根目录中查找文件并将runat="server" 添加到锚链接:

    <a href="~/document.zip" runat="server">Download Zip File</a>
    

    您需要从根目录解决它,因为虽然您可能知道它在本地计算机的 D 驱动器上,但您不能确定在服务器上是否相同。即使它在服务器上的同一个驱动器上,如果有人稍后迁移它怎么办?

    至于上传文件,只需使用Upload control?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-24
      • 2018-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多