2008-09-09 48 views
18

我已經構建了一個WCF服務來接受一個文件並將其寫入磁盤。前端包含一個SWFUpload頁面,用於處理客戶端上傳的內容。很明顯,SWFUpload將數據內容類型爲multipart/form-data。如何將文件上傳到WCF服務?

我會認爲這確定,但在服務方面我得到一個錯誤。錯誤是「ProtocolException」期望text/xml。我已經嘗試了綁定中不同的消息編碼,但似乎沒有任何工作。

如何使用multipart/form-data上傳此文件?

回答

9

@jdiaz,

@JasonS是正確的,上傳你需要把它轉移作爲字節流文件。您需要使用WCF streaming。例如關於如何通過WCF上傳文件,請參閱an articlehttp://kjellsj.blogspot.com

+1

這真的有幫助嗎?我仍然不知道如何從瀏覽器上傳。到目前爲止,我發現的所有解決方案都使用.NET客戶端上傳到WCF。不是SWFUpload。 – tishma 2012-09-06 11:15:28

0

我相信你將不得不將文件作爲字節數組傳輸到WCF。在發送到您的服務之前,您需要從SWFUpload處理帖子並轉換爲字節數組。

2

要使用的內容大概是MTOM,如果您希望它是標準的。使用這個,你可以有MIME多部分消息。

然後您必須將該文件讀取爲流並將其填入請求的參數之一。

1

這可能是因爲您的WCF服務的目標是.NET Framework 3.5,而您的IIS正在.NET Framework 4.0上運行。在這種情況下(框架不匹配),您需要修改您的服務。