1
我正在使用ServiceStack Web服務來處理圖片上傳。用multipart/form-data上傳 - 無法檢索自託管服務中的文件
當在IIS
通過AppHostBase
承載這項服務的一切工作正常。
現在我已經轉向使用AppHostHttpListenerBase
在控制檯應用中運行的自託管服務,並且突然間我無法再訪問上傳的數據。
我使用下面的屬性來獲取文件:
var uploadedFiles = base.Request.Files;
當自託管的,該陣列的IHttpFile
是空的。當在ISS
中託管時,它包含上載。
POST http://localhost:8081/upload/aaa HTTP/1.1
Accept: application/json
Content-Type: multipart/form-data; boundary="607a4dcf-585a-483b-b7dd-9f30d902e4a8"
Host: localhost:8081
Content-Length: 69553
--607a4dcf-585a-483b-b7dd-9f30d902e4a8
Content-Type: application/octet-stream
Content-Disposition: form-data; name=file; filename=file; filename*=utf-8''file
**** IMAGE DATA ****
--607a4dcf-585a-483b-b7dd-9f30d902e4a8--
我使用ServiceStack 4.0.5版從的NuGet:
客戶端發送與multipart/form-data
一個Content-Type
的請求,它看起來像這樣。主機項目正在運行.NET 4.5。
這是不應該工作時,自主或我必須配置的東西,使其工作?
彼得,它應該工作。我剛剛在v4中設置了一個新項目,並且沒有任何問題看到這些文件。 [見這裏](https://gist.github.com/scottmcarthur/8399716)爲我的工作代碼。你可以發佈你的配置,所以我可以理解你做什麼不同嗎? – Scott
@Scott感謝您的幫助。你的回答讓我走上正軌。似乎'HttpListener'對Content-Disposition標頭非常嚴格。 「文件名」的值必須用雙引號括起來才能起作用。當我添加那些我可以看到的文件。如果你添加一個答案,我會接受它。 –
很高興你能工作。我已經添加了答案。 – Scott