3

我在我的网站上成功集成了 plupload。我可以毫无问题地上传文件,但我不能多次上传同一个文件。

PS:这个问题只出现在 Internet Explorer 上。我对谷歌浏览器没有任何问题。

例如:

  1. 我上传'hello.jpg'
  2. 上传立即开始
  3. 上传完成后,我会显示一个警报(无论如何)。
  4. 然后我尝试上传相同的文件,但它不起作用。没啥事儿。我在“FilesAdded”事件中设置了一个断点,但从未到达。

但是,如果我尝试上传另一个文件,它运行良好。

但是如果我按 F5(刷新)然后我可以上传以前上传的文件。

任何的想法?我真的希望能够多次上传同一个文件。

例如,如果用户上传了一个文件,然后意识到文件内部有问题并修改了该文件中的某些内容并需要再次上传,那么在我的情况下他无法再次上传......

这是我的代码的一部分:

html部分:

<div id="container">
    <a id="pickfiles" href="#" class="btn ui-button-text-icon-secondary">Uploader</a>
</div>

Javascript部分:

var uploader = new plupload.Uploader({
    runtimes: 'gears,html5,flash,silverlight,browserplus',
    unique_names: false,
    browse_button: 'pickfiles',
    container: 'container',
    max_file_size: '5mb',
    url: pFiles.addFileUrl,
    multi_selection: false,
    multipart: true,
    multipart_params: { "type": "undefined" },
    filters : [{title : "Adobe PDF files", extensions : "pdf"}], 
    flash_swf_url: pFiles.uploadFlashUrl,
    silverlight_xap_url: pFiles.uploadSilverlightUrl,
    resize: { width: 320, height: 240, quality: 90 }
});

uploader.bind('FilesAdded', function (up, files) {
    uploader.state = 1;
    up.refresh(); // Reposition Flash/Silverlight
    uploader.settings.multipart_params["type"] = $('#type').val();
    uploader.start();
    up.refresh();
    $('#messages').show();
});

uploader.bind('UploadProgress', function (up, file) {
    $('#messages').html('Progression: ' + file.percent + "%");
});

uploader.bind('FileUploaded', function (up, file, response) {
    var msg = $.parseJSON(response.response).Message;
    alert(msg);
});

PS:我当前的plu​​pload版本是1.5.4

4

3 回答 3

1

最后,我只需要安装 plupload 的 2.0 版本。

于 2013-10-31T08:29:45.247 回答
0

尝试更改以下行:

unique_names: false

unique_names: true

从文档中:

唯一名称

上传时生成唯一的文件名。这将为文件生成 unqiue 文件名,以便它们不会与服务器上的现有文件发生冲突。

于 2013-10-23T17:13:12.510 回答
0

destroy()您在上传过程完成后调用方法。然后再次启动

于 2014-08-22T08:28:03.973 回答