0

此问题与 Widen Fine-Uploader ( https://github.com/Widen/fine-uploader )有关

我想在上传开始之前显示图像预览。没有自动上传。多个文件选择器 - 没有单个文件输入元素。

.on('submitted', function(event, id, filename) {
    $('<img id="pprev'+id+'" src="#" />').appendTo("#previewupload"+id);
    readURL(this,id);     // WHAT DO I NEED TO USE FOR THIS ?
}

...
manualuploader.fineUploader('uploadStoredFiles');

function readURL(input, previewID) {
    if (input.files && input.files[0]) {
        var reader = new FileReader();

        reader.onload = function (e) {
            $('#pprev'+previewID)
            .css("border","10px solid #FF0000")
            .attr('src', e.target.result);
        };

        reader.readAsDataURL(input.files[0]);
    }
}

我需要在 readURL() 初始化中使用什么参数?

4

1 回答 1

3

您需要将任何File代表图像的对象传递到您的readURL方法中。

readURL因此,首先,将函数的最后一行更改为reader.readAsDataURL(file). 此外,为了便于阅读,将第一个参数从input更改为file

您可以通过API 方法获取File特定 Fine Uploader 文件 ID 的对象。您可以像这样在回调 getFile中检索:Filesubmitted

$(this).fineUploader('getFile', id);

然后,正如我所说,在进行建议的修改后,将此调用 (a) 的结果传递给File您的方法。readURL

请注意,对显示预览预上传的原生支持是一项预定功能,但是,正如您所见,这要归功于 Fine Uploader 的 API,现在这并不是很难做到的。另请注意,getFileAPI 方法不适用于非文件 API 浏览器,例如 IE9 和更早版本。

于 2013-05-01T15:03:27.523 回答