2016-03-06 42 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