我正在研究ASP.NET MVC4解决方案,通过拖放到浏览器上传PDF。我的解决方案工作正常,直到我升级我的Azure网站(它是一个“标准”Azure网站而不是Web角色)。 Javascript代码:
function uploadFile(file, documentId) {
uploadUrl = '/Reports/UploadPdf';
var xhr = new XMLHttpRequest();
xhr.open("post", uploadUrl, true);
// Set appropriate headers
xhr.setRequestHeader("Content-Type", "multipart/form-data");
xhr.setRequestHeader("X-File-Name", file.name);
xhr.setRequestHeader("X-File-Size", file.size);
xhr.setRequestHeader("X-File-Type", file.type);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
//alert("Received:" + xhr.responseText);
//addPdfToUi(JSON.parse(xhr.responseText));
pdfUploaded(JSON.parse(xhr.responseText));
//addPdfToWorkspace();
}
else
alert("Error code " + xhr.status);
}
};
if (xhr.upload) { // check if upload property exists
xhr.upload.addEventListener('progress', updateProgress, false);
}
initProgressBar();
xhr.send(file);
它之前无缝上传了PDF。现在它向我发送了504服务器错误。
我怀疑我的网站可能已在后台升级到不同版本的IIS。
它仍适用于我的本地计算机。
我使用过Fiddler,Chrome Tools并在服务器端打开了详细的错误记录。没有线索。这绝对是一个服务器问题,因为它适用于Chrome和IE本地,但在Azure上无法正常工作。
有什么想法吗?
答案 0 :(得分:0)
我删除了Javascript行:
xhr.setRequestHeader("Content-Type", "multipart/form-data");
它解决了这个问题。