我想在我的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.
此异常的原因是什么?我该如何修复代码?
答案 0 :(得分:2)
检查S的值,因此检查“Server.MapPath(”〜/ Downloads /“+ s)的返回值。
你可能在S中有一些无效的字符可能会搞砸?
答案 1 :(得分:1)
TransmitFile
会假设下载子文件夹中有一个物理文件。
如果不是这样,那么你需要做一些事情,比如自己将数据写入输出流。