2014-03-04 66 views
0

簡而言之,我試圖將在一個控制器中從一個視圖接收到的IEnumerable<HttpPostedFileBase>對象張貼到「REST」服務器上的另一個控制器。我試圖使用HttpWebRequestStreamWriter作爲序列化的JSON發送對象,但由於文件是大圖像,因此Max JSON長度會阻止此操作。

我目前正在嘗試使用「multipart/form-data」發佈數據,下面是我在這裏找到的示例http://www.techcoil.com/blog/uploading-large-http-multipart-request-with-system-net-httpwebrequest-in-c/的示例,但這看起來並不十分...優雅(該示例的作者沒有冒犯)。有沒有更好的方式發佈數據?如何將IEnumerable <HttpPostedFileBase> POST到MVC 4控制器

回答

0

您不能通過ajax發佈文件,也不應該嘗試將它們發佈爲JSON。使用JSON可能看起來很優雅,但它效率低得多,因爲任何二進制數據都必須經過base64編碼。

您必須按照鏈接到的文章執行常規HTTP發佈。

但是,如果所有用戶都支持HTML5,你可以做AJAX上傳瀏覽器:How can I upload files asynchronously?

如果不是這樣,你必須使用某種閃光上傳組件或使用IFRAME:秒。

相關問題