我需要將Excel文件傳遞到C#中實現的Web服務中。到目前爲止我創建的Web服務如下。將Excel文件傳遞到WEB API Web服務的最佳方式是什麼?
public void loadData([FromBody]string dataFile)
{
}
我也認爲這是accepatble通過Excel文件是使用Base64編碼字符串; 這是一個好方法,還是有更好的方法來做到這一點?
我需要將Excel文件傳遞到C#中實現的Web服務中。到目前爲止我創建的Web服務如下。將Excel文件傳遞到WEB API Web服務的最佳方式是什麼?
public void loadData([FromBody]string dataFile)
{
}
我也認爲這是accepatble通過Excel文件是使用Base64編碼字符串; 這是一個好方法,還是有更好的方法來做到這一點?
基本上,您將該文件作爲multipart/form-data HTTP請求的一部分傳遞。
Sending HTML Form Data in ASP.NET Web API: File Upload and Multipart MIME
編輯: 要接收任何類型的二進制文件,使用下面的代碼。但是,這是相當不安全的。真的,請檢查請求標頭的內容類型和內容長度。
public void loadData() {
/* get raw data */
string dataFile = Request.Content.ReadAsStringAsync().Result
}
Web服務仍然是一樣的嗎?我指的是public void loadData([FromBody] string dataFile) – DafaDil 2014-12-03 21:03:38
在我看來,將一個文件作爲字符串傳遞並不是一個好主意。你不知道文件的類型是什麼,或者實際的二進制長度是多少。此外,mutlipart /表單數據內容類型是HTML表單提交文件的唯一方式。而不是mutlipart/form-data或base64字符串,您可以發送文件二進制文件。 http://blog.marcinbudny.com/2014/02/sending-binary-data-along-with-rest-api.html#.VH986zE73Fk – Alex 2014-12-03 21:12:35
所以必須是方法的簽名公共無效loadData(?)如果使用mutlipart /表單數據內容類型 – DafaDil 2014-12-03 21:16:46
你可以通過符合RFC 1149-鏈接發送。如何發送它並不重要。重要的是web服務期望/需要什麼。 – 2014-12-03 19:12:47
所以接受文件爲字符串好嗎? – DafaDil 2014-12-03 19:14:03