我有一个奇怪的问题,我不确定它是否正常。我确定不是
我有一个拖放区域,我可以上传任何文件,它就像一个魅力。
除了...
我不能用它上传任何 .html 或 .htm 文件。我可以获取一个 html 文件并将其重命名为 .jpg 并且它可以工作。
这是我的一段代码:
xhr = new XMLHttpRequest()
xhr.open 'PUT', "#{tvr.api.url}/transfer/#{userprofile.UserLink.LinkID}/#{userprofile.UserLink.UserName}/#{channelid}/#{filename}"
xhr.upload.addEventListener "progress", (event, filename) =>
window.Appbusy = true
$($(".file-status-#{uid}").find("span")).text("(#{((event.loaded/event.totalSize)*100).toFixed(2)}%)")
,false
xhr.onreadystatechange = (aEvt) ->
if xhr.readyState is 4
if xhr.status is not 200
$(".notification").remove()
notification("The server returned an error uploading the file. Please try again.", 'error')
它甚至显示上传进度为 100%,当它需要将它推送到服务器时,它只是因错误请求而失败。(服务器永远不会收到任何请求)
如果 HTML 文件的内容为 0,它就可以工作!为什么我不知道
更新:
经过一番玩耍后,我发现将 Content-Type 设置为 text/plain 时请求有效:
xhr.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
一旦我更改为 text/html,如果文件有任何内容,它就不起作用:
xhr.setRequestHeader("Content-Type", "text/html;charset=UTF-8");
这可能是一个错误吗?
我将此作为可能的 XML 错误发送