2017-07-13 32 views
0

背景: ファイルをASP.NETバックエンドにアップロードするAngularJSフロントエンドがあります。私はAzureにデータを永続化しているカスタムMultipartStreamProviderを持っています。私が今持っている唯一の問題は、既存の角度のコードは、ファイルサイズを提出されていないということです、ここでは、コンテンツ配置ヘッダ角度アップロード、コンテンツ処理でファイルサイズを送信する必要があります

MyMultipartFormDataStreamProvider : MultipartStreamProvider 
{ 
    // ... 
    public override Stream GetStream(HttpContent parent, HttpContentHeaders headers) 
    { 
     // For form data, Content-Disposition header is a requirement 
     ContentDispositionHeaderValue contentDisposition = headers.ContentDisposition; 
     if (contentDisposition != null) 
     { 
      // create default filename if its missing 
      contentDisposition.FileName = (String.IsNullOrEmpty(contentDisposition.FileName) ? $"{Guid.NewGuid()}.data" : contentDisposition.FileName); 
      var size = contentDisposition.Size; // This is null right now! 
     } 
    } 
} 

との唯一のファイル名は、角度コードが

 $scope.$watch('files', function (files) { 
     $scope.formUpload = false; 
     console.log(files); 
     if (files != null) { 
      for (var i = 0; i < files.length; i++) { 
       $scope.errorMsg = null; 
       (function (file) { 
        file.size = 25; 
        upload(file); 
       })(files[i]); 
      } 
     } 
    }); 

    function upload(file) { 
     file.upload = Upload.upload({ 
      url: window.location.origin + "/api/mydocs/uploadfile?clientFolder=" + $scope.attachmentFolder + "&clientId=" + $scope.clientId + "&userId=" + $scope.currentUser.UserId, 
      method: 'POST', 
      headers: {}, 
      fields: {}, 
      file: file 

     }); 

質問です

コンテンツの配置ヘッダーにファイルサイズを含めるにはどうすればよいですか?

ありがとうございます!

+0

angularjsへの質問タグを変更してください、角度のタグは好奇心、角度2+ – LookForAngular

+0

@Dan Csharpsterのために使用されています。私は、Postmanからのリクエストの送信がSizeプロパティのnullを返すのと同じ問題を抱えています。 –

+0

私は今、ハックを発行しました。ヘッダー:{}セクションでは、ファイル情報をキーにしてからfile.name + " - " + file.valueを入れました –

答えて

0

このファイルアップロードディレクティブは過去に大成功を収めて使用しました。ファイルがディレクティブによって処理されると、クライアント側のファイルサイズが返されます。あなたがこれを考え出した場合

ngFileUpload

+0

返信いただきありがとうございます!しかし、私ははっきりしていないかもしれません。私はクライアント側に返されるファイルサイズは必要ありません。私はクライアント側がサーバーにファイルサイズを送信する必要があるので、ASP.NETでは十分なメモリを割り当てることができます。私はちょうど要求からファイルをつかみ、そのようにサイズを計算することができるかもしれませんが、それは私がデフォルトで作品を使用している方法ではありません。 –

+0

リクエストとともにそのデータを送信できますか? –

関連する問題