【问题标题】:Send default image with ajax使用ajax发送默认图像
【发布时间】:2015-08-19 18:01:48
【问题描述】:

大家好,我如何在此代码中将图像转换为对象,例如:

var img = $('<img id="dynamic">'); 
img.attr('src', 'http://macreationdentreprise.fr/wp-content/uploads/2012/06/ouvrir-un-restaurant.jpeg');
var obj=img.ConvertToObject();
// so i can now use obj.filename; and obj.data;

这样做的原因是如果没有设置输入文件,我不想自动上传此图像:

<input id="picture_zone_upload_input_ID" type="file" name="picture_zone_upload_input" class="picture_zone_upload_input" multiple title="Choose a file to upload"/>

编辑

function configure_zone_upload() {
    $("#picture_zone_upload_input_ID").change(function (event) {
        $.each(event.target.files, function (index, file) {
            var reader = new FileReader();

            reader.onload = function (event) {
                object = {};
                object.filename = file.name;
                object.data = event.target.result;
                //alert("index: " + index);
                upload_img_count++;
                configure_upload_img(object.data, upload_img_count);

                files.push(object);

            };
            reader.readAsDataURL(file);
        });

        var files = event.target.files;
        for (var x = 0; x < files.length; x++) {
            data.append(x, files[x]);
        }
        //alert(files.length);
         AJAX_upload_Profile(data, upload_img_count);

    });
}

如果没有输入文件,我如何设置我的默认图像以使用 ajax 发送它??

EDIT2

如果event.target.files; 为空,我如何从新图像设置文件:

var files = event.target.files;
            for (var x = 0; x < files.length; x++) {
                data.append(x, files[x]);
            }
            //alert(files.length);
             AJAX_upload_Profile(data, upload_img_count);

【问题讨论】:

标签: javascript jquery ajax


【解决方案1】:

我猜你可以这样做:

object.filename = file.name || defaultImg;

其中defaultImg 是一个变量,其中包含带有src 的默认img。


类似:

reader.onload = function (event) {
    object = {};
    object.defaultImg = $('<img>',{"src" : "defaultImg/path/img.jpeg"}); // <--declare here
    object.filename = file.name 
    object.data = event.target.result || object.defaultImg; //<---use it here;
    //alert("index: " + index);
    upload_img_count++;
    configure_upload_img(object.data, upload_img_count);

    files.push(object);
};

【讨论】:

  • 如何将var img = $('&lt;img id="dynamic"&gt;'); 转换为文件?
  • @Omar 检查第二个。
  • object.filename.data ?
  • 问题是什么时候没有改变这个块没有被执行所以我用Ajax发布了null
  • 可能你想看看document.createElement()方法。
猜你喜欢
  • 2018-07-29
  • 2014-03-23
  • 1970-01-01
  • 2019-11-25
  • 1970-01-01
  • 1970-01-01
  • 2015-03-17
  • 2014-05-28
  • 1970-01-01
相关资源
最近更新 更多