ngResource
をAngularと使用して、ファイルをASP.NET Webサービスにアップロードしています。WebApiで大きなファイルをアップロードする
特定のサイズ(約50MB)を超えてファイルを試すまで、すべて正常に動作します。特定のサイズの後のどこかに、FromBodyパラメータがバインドされていないので、私はnull
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