Javascript AJAX、HTML5图像预览器+上传前删除

Javascript AJAX、HTML5图像预览器+上传前删除,javascript,php,jquery,ajax,html,Javascript,Php,Jquery,Ajax,Html,我得到了一个图像预览工作和上传。我的问题是如何使代码只上传预览区域中的内容?也就是说,如果我选择图像并删除它们,它们不应该在提交时上传 我让它与jquery一起工作,只是为了说明我想要什么,但不确定如何只将预览区域中的图像发送到PHP 如果我能以某种方式将预览区域中的动态图像列表放到一个数组中,我就可以轻松地用PHP上传它们,最困难的部分是获取该列表 下面是一个演示: 我基本上想要的是: 请帮帮我!这个问题我已经解决了好几个月了。如果我能以某种方式将预览区域中的动态图像列表放入数组中,请参见th

我得到了一个图像预览工作和上传。我的问题是如何使代码只上传预览区域中的内容?也就是说,如果我选择图像并删除它们,它们不应该在提交时上传

我让它与jquery一起工作,只是为了说明我想要什么,但不确定如何只将预览区域中的图像发送到PHP


如果我能以某种方式将预览区域中的动态图像列表放到一个数组中,我就可以轻松地用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);
});