2012-12-13 64 views
0

我們正在創建asp.net網站,該網站使用salesfoce webservice api並提取所有信息。我們在網站上有一個功能來顯示可以下載的聯繫人「備註和附件」。我一直在使用谷歌搜索,但沒有用。如何在asp.net網站上顯示salesforce附件下載

任何人都可以引導我。

感謝,

回答

3

你要查詢Attachment表,無論是直接:

SELECT Id, Name, Body, BodyLength, ContentType, CreatedBy.Name, CreatedDate, Description, Owner.Name, ParentId 
FROM Attachment 
LIMIT 10 

或間接使用子查詢:

SELECT Id, Name, Email, (SELECT Name FROM Attachments ORDER BY CreatedDate DESC) 
FROM Contact 
LIMIT 10 

文件的實際內容存儲在Body列中,以base64編碼。你必須解碼它和(基於內容類型?)另存爲文本/二進制文件,服務器的用戶與正確的內容標題...

包括Body列放慢了一點東西 - 我建議你最初在ASP應用程序的「查看附件相關列表」部分中跳過它,並且僅在用戶真正需要它時檢索它們(例如通過Id),我注意到你可以得到1行返回(最初)與Body查詢所以如果你真的想要一口氣做到這一點 - 檢查出queryMore()函數的文檔,並確保你的應用程序已經處理了整個查詢定位器(如果你熟悉那個詞,那麼「cursor」 )。

因此,只要您可以發送查詢(您沒有指定使用哪一個......「webservice api」聽起來像只限於使用少量選定的Apex類暴露爲web服務)。另外REST API有特殊的retrieve()命令。

+0

感謝eyescream,這是一個偉大的投入。獲取附件會減慢速度。但是,通過擁有需要附件和服務的Visualforce頁面,我採取了不同的方式。但是,我們唯一留下的就是如何使它成爲非公開鏈接,並認爲基於會話ID進行驗證可能是一種選擇。再次感謝。 – sbmandav