【发布时间】:2017-01-04 20:07:55
【问题描述】:
我在尝试下载文件时收到此错误“Request URL Too Long”。该网址显示了我要下载但不下载的数据。
如何解决下载时出现Request URL Too Long错误
我的代码
Javascript
<script>
function DownloadIndexController(possID) {
$.ajax({
url: '@Url.Action("DownloadIndex", "Poss")',
contentType: 'application/json; charset=utf-8',
datatype: 'json',
data: { possID: possID },
type: "GET",
success: function (returnValue) {
window.location = '/DownloadIndex/Poss' + returnValue;
}
})
}
</script>
控制器
[HttpGet]
public virtual ActionResult DownloadIndex(int possID)
{
try
{
possFilename = possFilename.Replace(",", ",");
string fullPath = Filelocation + possFilename;
return File(fullPath, System.Net.Mime.MediaTypeNames.Application.Octet, possFilename);
}
catch (Exception ex)
{
throw ex;
}
【问题讨论】:
-
您问题中的哪一行特定代码会产生该异常?
-
我已经调试过了,没有错误。只有该错误显示在浏览器和控制台上
-
等一下,您是否将文件作为
GET操作返回,然后将文件附加到url?你实际上是在生成一个看起来像/DownloadIndex/Poss<file contents here>的 URL 吗? -
尝试使用警报并显示
'/DownloadIndex/Poss' + returnValue的内容。 -
我认为你需要澄清你想要做什么。将文件内容附加到 url 看起来很奇怪,很可能你会达到 url 长度的浏览器限制。
标签: c# asp.net-mvc file