我正在尝试从包含等号的文件服务器下载文件,但该文件已被剥离。我的控制器中有以下方法(请参见下面的代码)。
请注意,在高亮的代码行中,用双引号引起来的文件名对其他特殊字符($,#,@,&等),但删除了等号。
我有什么特别的事情要做,可以通过某种方式来转义等号以确保下载的文件名保留等号?
谢谢,
布拉德
---------------------------------------------
受保护的FileStreamResult StreamFileToHttpResponse(流流,字符串fileName,布尔流RawFile = false)
{
FileStreamResult nullResponse = null;
if (stream != null &&!string.IsNullOrEmpty(fileName))
{
//识别MimeType并作为附件返回浏览器
//重要提示-浏览器确定如何处理附件:
// IE可能会显示“保存”对话框
// Chrome不会显示“保存”对话框,而只是显示文件的下载。
字符串mimeType = MimeMapping.GetMimeMapping(fileName);
if (!streamRawFile)
{
Response.AppendHeader("Content-Disposition", "依恋;文件名="" + fileName + """);
Response.AppendHeader("X-Download-Options", "noopen");
}
返回File(stream,mimeType);
} else
{
return nullResponse;
}
}
请注意,在高亮的代码行中,用双引号引起来的文件名对其他特殊字符($,#,@,&等),但删除了等号。
我有什么特别的事情要做,可以通过某种方式来转义等号以确保下载的文件名保留等号?
谢谢,
布拉德
---------------------------------------------
受保护的FileStreamResult StreamFileToHttpResponse(流流,字符串fileName,布尔流RawFile = false)
{
FileStreamResult nullResponse = null;
if (stream != null &&!string.IsNullOrEmpty(fileName))
{
//识别MimeType并作为附件返回浏览器
//重要提示-浏览器确定如何处理附件:
// IE可能会显示“保存”对话框
// Chrome不会显示“保存”对话框,而只是显示文件的下载。
字符串mimeType = MimeMapping.GetMimeMapping(fileName);
if (!streamRawFile)
{
Response.AppendHeader("Content-Disposition", "依恋;文件名="" + fileName + """);
Response.AppendHeader("X-Download-Options", "noopen");
}
返回File(stream,mimeType);
} else
{
return nullResponse;
}
}