ASP文件下载.Net使用c#

本文关键字:使用 Net 文件下载 ASP | 更新日期: 2023-09-27 18:15:23

我想让我的客户从我的网站下载文件。我试过这个代码:

string fName = Server.MapPath((new_exwork.FilePath));
FileInfo fi = new FileInfo(fName);
long sz = fi.Length;
Response.ClearContent();
Response.ContentType = MimeType(Path.GetExtension(fName));
Response.AddHeader("Content-Disposition", string.Format("attachment; filename = {0}", System.IO.Path.GetFileName(fName)));
Response.AddHeader("Content-Length", sz.ToString("F0"));
Response.TransmitFile(fName);
Response.End();

但是我得到了下面的异常:

无法计算表达式,因为代码已优化或本机帧位于调用堆栈的顶部。

MimeType函数

private static string MimeType(string Extension)
    {
        string mime = "application/octetstream";
        if (string.IsNullOrEmpty(Extension))
            return mime;
        string ext = Extension.ToLower();
        Microsoft.Win32.RegistryKey rk = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(ext);
        if (rk != null && rk.GetValue("Content Type") != null)
            mime = rk.GetValue("Content Type").ToString();
        return mime;
    } 

ASP文件下载.Net使用c#

好的。

一种方法是有一个指向文件的超链接,当客户端点击文件时,浏览器会询问他们是否想要下载。

你可以让他们右键单击并做一个保存目标下载

如果您想要跟踪下载状态

这是一个链接,你可以看看。文件下载跟踪状态