我試圖通過客戶端應用程序的HTTP 1.1 POST將文件上傳到ASP 2.0 Web服務。如果我的Web服務函數聲明爲使用HTTP/1.1 POST將文件上傳到ASP web服務
<WebMethod()>
Public Function UploadFile(ByVal file as Byte(), ByVal fileName as String) as String
...
測試窗體說,請求應該採取這種形式:
POST address_of_service HTTP/1.1
Host: <host>
Content-Type: application/x-www-form-urlencoded
Content-Length: length
file=string&file=string&fileName=string
如何讓我的二進制文件數據轉換成這種形式?我試過只是將文件數據轉換爲字符串並將其放入主體(file=<string_data_here>
),但我得到HTTP 500錯誤,抱怨無法將其轉換爲System.Byte。我的HTTP POST在我的應用程序中的其他地方使用純字符串參數正常工作。
另外,出於好奇,它爲什麼顯示文件參數兩次?
我認爲上傳文件需要將表單enctype設置爲「multipart/form-data」 – Swaff 2011-03-23 15:56:25