Ajax PUT方法上传使上传的文件不再可访问

时间:2013-04-30 03:28:32

标签: php jquery ajax file-upload ajax-upload

我尝试使用put方法制作脚本ajax + php来上传文件,它正在上传,但问题是,它使上传的文件不再可访问。

示例原始文件:

test

上传文件:

------WebKitFormBoundaryfHeuzHdIUxsjGOUb
Content-Disposition: form-data; name="file"; filename="test.txt"
Content-Type: text/plain

test

------WebKitFormBoundaryfHeuzHdIUxsjGOUb--

你可以看到文件是视频/ zip还是任何其他文件,肯定会破坏。

这是我的代码

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);

如何使用我的脚本上传文件而不会破坏它?

提前感谢!

0 个答案:

没有答案