2016-03-06 43 views
2

使用trello_client.js库添加新卡片时,我想附加一张或更多图片。 The documentation只提到fileSource“A文件”如何将图像附加到来自JS客户端库的新Trello卡?

数据URI没有按原样工作,blob通常附加到FormData对象,所以我不知道如何处理这个问题,但没有找到工作示例。

它甚至有可能附加多个文件连同卡创建,或者仅仅在以后,单独的post s here

回答

3

client.js库不支持附加文件附件。您需要使用标准的XHR和FormData对象。

下面是一些示例代码:https://plnkr.co/edit/PjJsfMgJuJaM5A83RAiW

HTML的相关位:

<input type="file" id="chooser"/> 
<button onclick="upload();">Upload</button> 

和JavaScript:

// Setup 
var TOKEN = ""; 
var KEY = ""; 
var CARD = ""; 

function upload() { 
    var formData = new FormData(); 

    formData.append("token", TOKEN); 
    formData.append("key", KEY); 

    // HTML file input, chosen by user 
    formData.append("file", document.getElementById('chooser').files[0]); 

    var request = new XMLHttpRequest(); 
    request.open("POST", "https://api.trello.com/1/cards/" + CARD + "/attachments"); 
    request.send(formData); 
} 
+0

你可能是对的,我会试试这个方向。谢谢。 – Ronny

+0

@PeEll这只适用于一个文件。多个文件的外观如何?有没有办法用一个FormData对象发送多个文件? – tecmec

+0

@tecmec您可以访问表单,因此如果有多个文件,您必须在XHR上发布每个文件。 – PeEll

0

的Trello API期望要么被连接的URL,或一个编码为multi-part/formdata的文件。

我已经汇集了一系列关于不同方式的示例,您可以使用Javascript将文件附加到卡上。你可以在这里查看:https://glitch.com/~trello-attachments-api。要查看示例项目正在运行,请单击“预览应用程序”。

+1

虽然这可能在理论上回答这个问题,[这将是更可取的](/ meta.stackoverflow.com/q/8259)在这里包括答案的基本部分,并提供参考链接。 – GhostCat