如何解决Ajax无法通过从数据库检索大文件来工作
每次从SQL数据库ajax检索超过0.5MB的文件时都会出错,这是我在做什么错了?
$(document).ready(function () {
loadFileData();
});
function loadFileData() {
$.ajax({
type: "GET",url: "/File/FileIndex",dataType: "JSON",success: function (data) {
$.each(data,function (i,val) {
var trow = $('<tr/>').data("id",val.id);
var trowa = $('<tr/>');
var trowb = $('<tr/>').data("id",val.id);
trow.append('<td colspan="2"><a href="#" class="FileDownload">' + escape(val.Name) +'</a></td>');
trowa.append('<td><input type="file" id="FileUpload" /></form></td>');
trowb.append('<td><input type="button" class="btnUpload" value="Upload File" /><input type="button" id="btnClear" value="Clear" /></td>');
tab.append(trow);
tab.append(trowa);
tab.append(trowb);
});
$("#showFiles").html(tab);
},error: function (error) {
alert("Failed! Please try again." + error);
}
});
var tab = $('<table style="width:100px" border=1 class=MyTable></table>');
}
我的控制器:
//GET: File
public JsonResult FileIndex()
{
List<tblFile> fileList = new List<tblFile>();
using (FileDBEntities db = new FileDBEntities())
{
fileList = db.tblFiles.ToList();
}
return new JsonResult { Data = fileList,JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}
对于小文件,它可以完美地工作,但是为什么检索超过0.5MB的文件会掉下来呢? 消息,我正在接收什么:
function(){if(a){var t=a.length;(function r(t){v.each(t,function(t,n){var i=v.type(n);i==="function"?
(!e.unique||!c.has(n))&&a.push(n):n&&n.length&&i!=="string"&&r(n)})})(arguments),i?o=a.length:n&&(s=t,l(n))}return this}
解决方法
我认为您应该:
您的控制器:您应该返回二进制||文件流
Form(
key: _formKey,child: Widget(),),
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。