我有一个让我疯狂的问题,因为我无法解决它。我想用我的应用程序上传一些文件到服务器IIS。
我的HTML代码是:
<input id="files" type="file" />
当我检测到添加了新文件时,只是在控制器中我使用XMLHttpRequest:
document.getElementById('files').addEventListener('change', function (e) {
var file = this.files[0];
var xhr = new XMLHttpRequest();
(xhr.upload || xhr).addEventListener('progress', function (e) {
var done = e.position || e.loaded
var total = e.totalSize || e.total;
console.log('xhr progress: ' + Math.round(done / total * 100) + '%');
});
xhr.open('POST', 'http://10.0.19.25:80/CG/files', true);
xhr.addEventListener('load', function (e) {
console.log('xhr upload complete', e, this.responseText);
});
xhr.send(file);
});
当我在Chrome,Firefox或IE上启动我的应用时,我收到此错误:
POST http://10.0.19.25/CG/files 405 (Method Not Allowed)
提前致谢!
答案 0 :(得分:0)
我遇到了同样的错误,问题是我尝试访问的方法不存在,所以我尝试使用POST但是在该URL中的服务器上是预期的PUT。
查看服务器日志可能会有所帮助!
答案 1 :(得分:0)
我认为您需要阅读有关内容类型的更多信息。我遇到了同样的问题,我在服务器上发送了json数据,我只是将Content-type更改为application / json; charset = UTF-8,这很有帮助,默认为text / html;字符集= utf-8。