【发布时间】:2016-12-20 06:52:15
【问题描述】:
如何显示上传的每张图片的进度,就像在 facebook 上传中一样,
他们有一个<input multiple/>,但是你选择了多个文件后,你可以看到每张图片的进度条,你也可以取消上传?..
[![在此处输入图片描述][1]][1]
我尝试了一些 ajax xhr 来显示进度,但只能获得所有选定文件的总数。提前感谢您的帮助。
$("body").on('change', '#upload-nw-prod', function(event) {
event.preventDefault();
$('#upload-multiple-new-products').submit();
});
$('body').on('submit', '#upload-multiple-new-products', function(event) {
event.preventDefault();
var formData = new FormData($(this)[0]);
$.ajax({
url: '/nw-product-upload-mod',
type: 'POST',
xhr: function() {
var myXhr = $.ajaxSettings.xhr();
return myXhr;
},
success: function (data) {
$("#nw-prod-upl-mdl").html(data);
},
data: formData,
cache: false,
contentType: false,
processData: false
});
<form id="upload-multiple-new-products" class="pull-right" enctype="multipart/form-data" method="post" action="#">
<label for="upload-nw-prod" class="btn btn-lg btn-primary">Upload products</label>
<input id="upload-nw-prod" multiple="" name="photo[]" type="file" accept="image/*">
<input name="submit" value="" style="display: none;" type="submit">
</form>
//after submit (image intervention)
$photos = $request->file('photo');
$thumb_th_lgArrs = [];
foreach ($photos as $key => $photo) {
$img = Image::make($photo->getRealPath());
$img->resize(300, 300, function ($constraint) {
$constraint->aspectRatio();
$constraint->upsize();
});
$img->encode('jpg');
$img->save($saveDirectory.'/'.$thumb_th_lgArrs[$key]['image_name']);
$img->reset();
}
【问题讨论】:
-
感谢重播先生。我想从头开始构建,你能告诉我这些插件的过程是什么吗?谢谢。
-
在此处显示您的代码
-
试试 dropzonejs 插件
-
好的,非常感谢最简单的方法,我想我会调整那些插件
标签: javascript php jquery ajax