我正在使用ngResource
和Angular將文件上傳到ASP.NET Web服務。使用WebApi上傳大文件
它一切正常,直到我嘗試超過一定大小(約50MB)的文件。在某個尺寸之後的某個位置,FromBody參數沒有被綁定,並且我得到一個DocumentDTO對象引用。
任何想法如何解決它?
在我的web.config我有以下設置:
maxAllowedContentLength="500000000"
和
maxRequestLength="200000"
在我的控制,我有:
[HttpPost, Route("{id:Guid}")]
public async Task<IHttpActionResult> Insert([FromUri]Guid id, [FromBody]DocumentDTO documentDTO)
{
//...
我DocumentDTO
是:
public class DocumentDTO
{
[Required]
public Guid Id { get; set; }
[DisplayFormat(ConvertEmptyStringToNull = false)]
[MaxLength(250)]
public string FileName { get; set; }
[Required]
public string Content { get; set; }
[MaxLength(250)]
public string ContentType { get; set; }
}
在我的角度控制器,我有這樣的代碼:
vm.document.$save(
data => {
notifications.success("The document has been uploaded to the repository.", "Upload Succeeded");
},
err => {
errorService.handleApiError(err, "document", "upload");
})
.finally(() => vm.loading = false);
的vm.document.content
值被做調用一個FileReader
readAsArrayBuffer
設置。
就像我說的:這一切工作正常在一定的文件大小下。 FileReader是否有限制並且沒有正確設置文件內容,或者WebApi對模型綁定有限制?
嘗試使用郵遞員或另一個HTTP客戶端來測試文件上傳到服務器。 – Padraic