我有这个代码可以帮助用户上传csv文件并使用批量上传将其放入SQL SB中。 当我上传大小为30 MB的csv文件时,我能够在本地m / c和azure环境中成功运行它。没有错误,运行正常。
当我尝试仅在天蓝色环境中上传大于30 MB的文件时出现“未找到”错误。任何文件大小在本地m / c中运行良好。
我收到错误结果 - xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("txtHint").innerHTML = this.responseText;
get_fb();// THIS
}
};
甚至在击中控制器之前。我做错了什么?
cshtml代码:
$("#actionOP").text(err.statusText);
的Web.config:
<input id="postedFile" type="file" accept=".csv" />
<button onclick="UpClaims();">Upload as Claims Data</button>
<script type="text/javascript" language="javascript">
function UpClaims() {
if (window.FormData !== undefined) {
var fileUpload = $("#postedFile").get(0);
var files = fileUpload.files;
// Create FormData object
var fileData = new FormData();
// Looping over all files and add it to FormData object
for (var i = 0; i < files.length; i++) {
fileData.append(files[i].name, files[i]);
}
$("#divProcessing").show();
$.ajax({
url: '@Url.Action("UploadClaimsFile", "Home")',
type: "POST",
cache: false,
contentType: false, // Not to set any content header
processData: false, // Not to process data
data: fileData,
success: function (result) {
$("#divProcessing").hide();
$("#actionOP").text(result);
$('#postedFile').val("");
},
error: function (err) {
$("#divProcessing").hide();
$("#actionOP").text(err.statusText);
$('#postedFile').val("");
}
});
} else {
alert("FormData is not supported.");
}
}
</script>
答案 0 :(得分:0)
使用的方法是将大文件分成小块。关于此解决方案的文章
Upload large files to MVC / WebAPI using partitioning
使用的方法是将大文件分成小块, 上传它们,然后将它们合并在服务器上 - 文件 通过分区转移。文章显示了将文件发送到MVC 来自使用JavaScript的网页和Web表单的服务器 httpclient,可以使用MVC或WebAPI实现。