首页 > 解决方案 > jQuery 文件上传插件 https://blueimp.net

问题描述

晚上好,我想使用插件 jQuery File Upload Plugin 但我有一个问题。我使用的是base64图像,因为图像通过修剪工具来剪切图像。如何通过 .fileupload () 上传和上传 base64 格式的图像 我需要 jquery / php 版本

我找不到解决方案,在此先感谢

标签: phpjqueryfile-uploadjquery-file-uploadblueimp

解决方案


从他们的文档:https ://github.com/blueimp/jQuery-File-Upload/wiki/API#programmatic-file-upload

$('#fileupload').fileupload('add', {files: filesList});

第二个参数必须是具有 File 或 Blob 对象的数组(或类似数组的列表)作为 files 属性的对象。

所以听起来很简单:

var blob = ... //you said in the comments you've got the blob...
var blob = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==';
$('#fileupload').fileupload('add', {files: [blob]})

现在,我还遇到了一些更复杂的代码(source),表明这样的事情也是可能的:

$('#fileupload').fileupload({
    autoUpload: true,
    add: function (event, data) {
      $.ajax({
        url: "/upload",
        type: 'POST',
        dataType: 'json',
        data: {doc: {title: data.files[0].name}},
        async: false,
        success: function(response) {
          ...
        }

      });

看起来很灵活。


推荐阅读