如何使用FineUploader在画布上上传图像?

时间:2016-06-06 15:02:35

标签: canvas fine-uploader

在网页上,我有一个画布。我想了解其中的内容并使用FineUploader将其上传到服务器。

FineUploader api具有应该支持画布上传的addFiles方法(http://docs.fineuploader.com/api/methods.html#addFiles)。但我无法弄清楚使它运作所需的选项。

据我了解,我需要创建一个FineUploaderBasic实例。

var uploader = new qq.FineUploaderBasic({
    multiple: false,
    request: {
        endpoint: BASE_URL + '_ajax/endpoint.php'
    },
    autoUpload: false,
    debug: true
});

然后我调用addFiles方法。

uploader.addFiles({
    canvas: document.getElementById('my_canvas'),
    name: 'canvas.jpg',
    quality: '60',
    type: 'image/jpg'
});

在FineUploader调试中,我收到以下消息:

[Fine Uploader 5.7.1] Received 0 files.

我没有通过Google搜索找到任何有用的示例,所以任何人都可以告诉我这些工作的预期选项是什么?

感谢。

1 个答案:

答案 0 :(得分:1)

我也在尝试使用FineUploader将画布上传到服务器。我还没有测试过服务器,但我发现使用你的代码并传递canvas对象本身会在控制台中给出所需的响应(我使用的是fabric.js):

var canvas = new fabric.StaticCanvas('canvas');

var uploader = new qq.FineUploaderBasic({
    multiple: false,
    request: {
        endpoint: endpoint
    },
    autoUpload: false,
    debug: true
});

uploader.addFiles({
    canvas: canvas,
    name: 'canvas.jpg',
    quality: '60',
    type: 'image/jpg'
});

控制台消息:

[Fine Uploader 5.11.8] Received 1 files.