我尝试使用 put 方法制作脚本 ajax + php 来上传文件,它正在上传,但问题是,它使上传的文件不再可访问。
示例原始文件:
test
上传文件:
------WebKitFormBoundaryfHeuzHdIUxsjGOUb
Content-Disposition: form-data; name="file"; filename="test.txt"
Content-Type: text/plain
test
------WebKitFormBoundaryfHeuzHdIUxsjGOUb--
如您所见,文件是视频/压缩文件还是任何其他文件,它肯定会损坏。
这是我的代码
sendFile: function(files, index) {
if ($('a[data-parent="#accordion"]').size() != 0) {
var numRow = $('a[data-parent="#accordion"]').size();
}
else {
var numRow = index;
}
var progress = $('li[data-image="'+files[index].name+'_'+files[index].unique+'"]');
// File size validation
if (files[index].size >= 49999999) { // 49.999.999 = 50Mb max
progress.html('<strong style="color: red;">Cancelled</strong>');
progress.parent().next().html('File Size Exceeded! (MAX:50Mb)');
console.log("File size Exceeded!");
dragNdrop.prepare(files, index+1);
return false;
}
// begin upload
var formData = new FormData();
formData.append('file', files[index]);
var xhr = new XMLHttpRequest();
xhr.open('put', 'ajax/upload', true);
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xhr.setRequestHeader("X-File-Name", files[index].unique);
xhr.onload = function() {
progress.find('.filestatus').html('<img src="assets/img/wait.gif">').fadeIn(200);
}
xhr.upload.onprogress = function (event) {
// too long to display
}
xhr.send(formData);
如何使用我的脚本上传文件而不破坏它?
提前致谢!