krajee fileupload插件DELETE URL响应

时间:2015-07-26 03:07:29

标签: javascript file-upload

如果我想让用户删除 上传的图片,我应该返回什么样的json。红色垃圾桶按钮不会发送任何请求,只是从视图中删除图像,而不是从服务器删除。 我看一下这个manual

我现在回复每次上传:

[a,b,c].fnName('doSomething', param1, param2 ...)

我尝试过varios选项..

1 个答案:

答案 0 :(得分:2)

我使用回调 filesuccessremove & fileuploaded ,可能会有更清洁的方式。这个api很复杂,但非常好。

    $("#fileuploader").fileinput({
        uploadUrl: 'uplurl',
        allowedFileExtensions : ['jpg'],
        maxFileSize: 800000,
        maxFilesNum: 10,
        language: 'pl',
    })
    .on('fileuploaded', function(event, data, previewId, index) {
            $('div.file-preview-thumbnails #'+previewId).attr('server_id',data.response.server_id)
            })
    .on('filesuccessremove', function(event, id) {
            event.preventDefault();
            dp = $('div.file-preview-thumbnails #'+id).attr('server_id')
            $.post('deletefilesurl', {'server_id':dp})
            .done(function(r){
                    if(r=='ok'){
                            $('#'+id).fadeOut(300, function(){$(this).remove()})
                    }else{
                    $('#'+id).addClass('btn-danger').find('.file-actions').html(r)
                    }
            })
            .fail(function() {
                    $('#'+id).addClass('btn-danger').find('.file-actions').html('nothing deleted')
            })

            return false
    });

代码缩进在这里可能不适合,这个想法,只是为了将存储的图像服务器id存储在html-data属性中,在文件上传,来自响应。并对filesuccessremove事件发表帖子。 注意evet.preventdDefault必须与call return 一起使用return false以防止删除缩略图,并在需要时手动删除它,如果进程正常

fom php我只是回复这个

return  [
    'error' => '',
    'server_id' => $i, //last db insert id
];