Javascript AJAX、HTML5图像预览器+上传前删除
我得到了一个图像预览工作和上传。我的问题是如何使代码只上传预览区域中的内容?也就是说,如果我选择图像并删除它们,它们不应该在提交时上传 我让它与jquery一起工作,只是为了说明我想要什么,但不确定如何只将预览区域中的图像发送到PHPJavascript AJAX、HTML5图像预览器+上传前删除,javascript,php,jquery,ajax,html,Javascript,Php,Jquery,Ajax,Html,我得到了一个图像预览工作和上传。我的问题是如何使代码只上传预览区域中的内容?也就是说,如果我选择图像并删除它们,它们不应该在提交时上传 我让它与jquery一起工作,只是为了说明我想要什么,但不确定如何只将预览区域中的图像发送到PHP 如果我能以某种方式将预览区域中的动态图像列表放到一个数组中,我就可以轻松地用PHP上传它们,最困难的部分是获取该列表 下面是一个演示: 我基本上想要的是: 请帮帮我!这个问题我已经解决了好几个月了。如果我能以某种方式将预览区域中的动态图像列表放入数组中,请参见th
如果我能以某种方式将预览区域中的动态图像列表放到一个数组中,我就可以轻松地用PHP上传它们,最困难的部分是获取该列表 下面是一个演示: 我基本上想要的是:
请帮帮我!这个问题我已经解决了好几个月了。如果我能以某种方式将预览区域中的动态图像列表放入数组中,请参见thumbsArray=[];i、 例如,尝试添加“console.logthumbsArray;”要读取函数体,请单击“选择文件”,观察控制台上正在更新的thumbsArray。我想要的本质是:[个人图像删除功能]?请参阅.remove_thumb类和$list.on'click','.remove_thumb',函数{},该函数在单击伪元素之前删除单个图像?通过放置console.logthumbsArray;,可以将相同的伪元素调整为使用css?在图像下方删除;,我得到了一个巨大的字符列表,我认为这是它的代码形式的图片。有没有办法获得预览区域内所有图像的假路径?
var $fileUpload = $("#files"),
$list = $('#list'),
thumbsArray = [],
maxUpload = 5;
// READ FILE + CREATE IMAGE
function read( f ) {
return function( e ) {
var base64 = e.target.result;
var $img = $('<img/>', {
src: base64,
title: encodeURIComponent(f.name), //( escape() is deprecated! )
"class": "thumb"
});
var $thumbParent = $("<span/>",{html:$img, "class":"thumbParent"}).append('<span class="remove_thumb"/>');
thumbsArray.push(base64); // Push base64 image into array or whatever.
$list.append( $thumbParent );
};
}
// HANDLE FILE/S UPLOAD
function handleFileSelect( e ) {
e.preventDefault(); // Needed?
var files = e.target.files;
var len = files.length;
if(len>maxUpload || thumbsArray.length >= maxUpload){
return alert("Sorry you can upload only 5 images");
}
for (var i=0; i<len; i++) {
var f = files[i];
if (!f.type.match('image.*')) continue; // Only images allowed
var reader = new FileReader();
reader.onload = read(f); // Call read() function
reader.readAsDataURL(f);
}
}
$fileUpload.change(function( e ) {
handleFileSelect(e);
});
$list.on('click', '.remove_thumb', function () {
var $removeBtns = $('.remove_thumb'); // Get all of them in collection
var idx = $removeBtns.index(this ); // Exact Index-from-collection
$(this).closest('span.thumbParent').remove(); // Remove tumbnail parent
thumbsArray.splice(idx, 1); // Remove from array
});
// that's it. //////////////////////////////
// Let's test //////////////////////////////
$('#upload').click(function(){
var testImages = "";
for(var i=0; i<thumbsArray.length; i++){
testImages += "<img src='"+thumbsArray[i]+"'>";
}
$('#server').empty().append(testImages);
});