Загрузка файла в ASP.Net с использованием C # - PullRequest
2 голосов
/ 23 ноября 2011

Я пытаюсь заставить моего клиента скачивать файл с моего сайта.Я попробовал этот код:

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;
    } 

1 Ответ

1 голос
/ 23 ноября 2011

хорошо, некоторые предложения.

Один из способов - просто создать гиперссылку на файл, и, нажав на файл клиентом, браузер спросит их, хотят ли они загрузить.

Вы можете получить их правой кнопкой мыши и сохранить объект для загрузки.

Если вы хотите отслеживать статус загрузок

Вот ссылка, по которой вы можете посмотреть. Состояние отслеживания загрузки файла

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...