0

我想在我的 ASP.NET 应用程序中下载一个文件。我使用了这个片段:

try
{
    string s = fichier.GetFichierUrlById(_id);
    Response.ContentType = "application/" + Path.GetExtension(s); 
    Response.AppendHeader("Content-Disposition", "attachment; filename=" + s);
    Response.TransmitFile(Server.MapPath("~/Downloads/"+s));
    Response.End();
}
catch { }

在这个例子中,我有文件setup.exe,我得到一个异常The format of the given path is not supported.

这个异常的原因是什么?如何修复代码?

4

2 回答 2

2

检查 S 的值,因此检查 "Server.MapPath("~/Downloads/"+s) 的返回值。

您可能在 S 中有一些无效字符,它们可能会搞砸?

于 2013-05-31T14:17:19.463 回答
1

TransmitFile假设下载子文件夹中有一个物理文件。

如果不是这种情况,那么您需要自己做一些事情,比如将数据写入输出流。

于 2013-05-31T17:25:48.570 回答