2017-06-20 101 views
0

我一直在試圖自動化上傳一個文本文件到一個使用flowjshandler,所有運行在c#.net核心和linux碼頭容器的web api的測試。測試程序在從Visual Studio運行時無異常地上傳文件。但是,如果我運行一個容器我得到這個例外在ASP.NET的核心web API框架內的測試程序和Web API:Microsoft.AspNetCore.WebUtilities線長度限制超過100

超過線路長度的限制100,Microsoft.AspNetCore.WebUtilities,
在 Microsoft.AspNetCore.WebUtilities.BufferedReadStream.d__39.MoveNext()

我在Microsoft.AspNetCore.WebUtilities已經看,發現其中的錯誤是來自,但不知道如何避免100個字符的限制。我試圖改變上傳文件。

它與內容

Content-Type: multipart/form-data; boundary=----WebKitFormBoundarym45GFZc25WVhjtVB 
------WebKitFormBoundarym45GFZc25WVhjtVB 
Content-Disposition: form-data; name="flowChunkNumber" 

1 
------WebKitFormBoundarym45GFZc25WVhjtVB 
Content-Disposition: form-data; name="flowChunkSize" 

1048576 
------WebKitFormBoundarym45GFZc25WVhjtVB 
Content-Disposition: form-data; name="flowCurrentChunkSize" 

440 
------WebKitFormBoundarym45GFZc25WVhjtVB 
Content-Disposition: form-data; name="flowTotalSize" 

440 
------WebKitFormBoundarym45GFZc25WVhjtVB 
Content-Disposition: form-data; name="flowIdentifier" 

440-Boundarystxt 
------WebKitFormBoundarym45GFZc25WVhjtVB 
Content-Disposition: form-data; name="flowFilename" 

Boundarys.txt 
------WebKitFormBoundarym45GFZc25WVhjtVB 
Content-Disposition: form-data; name="flowRelativePath" 

Boundarys.txt 
------WebKitFormBoundarym45GFZc25WVhjtVB 
Content-Disposition: form-data; name="flowTotalChunks" 

1 
------WebKitFormBoundarym45GFZc25WVhjtVB 
Content-Disposition: form-data; name="file"; filename="Boundarys.txt" 

回答

1

在Linux上運行的容器不能識別行的末尾,當我使用Environment.Newline多部分消息。在Content-Disposition:form-data中將Newline更改爲\ r \ n。

例如 var nl =「\ r \ n」; sb.AppendFormat($「{nl} {BOUNDARY} {nl}內容處理:表單數據;名稱= \」flowChunkNumber \「{nl} {nl} {flowltload.flowChunkNumber} {nl} {BOUNDARY} {nl }內容處理:表格數據;