私はファイルをアップロードし、私は私が持っていると信じているNg-File-Upload to Save PDF Blob to Database角度NG-ファイル・アップロードURLはMVC ApiController方法を見つけることができません
私の前の質問のように、データベースへのブロブを保存するためにNG-ファイル・アップロードを使用しようとしています」タスクを完了するための "正しい"コードがありますが、問題はApiControllerのメソッドに "ヒット"するコードを取得できないことです。通常の非同期コントローラにメソッドを置くと、そのメソッドが見つけられます(ただし、ApiControllerから継承するコントローラ内になければ動作しないため、必要なコードの半分を使用できません)。 ApiControllerで同じメソッドを探します。私は何が欠けていますか?
ここ角度コントローラコードです:ここでは
angular.module('myModule').controller('DocumentCtrl', function ($scope, $interval, $window, $filter, $q, $timeout, Upload, $http) {
$scope.uploadPic = function (file) {
file.upload = Upload.upload({
url: '/SSQV4/SSQV5/Document/UploadEMRDocument',
method: 'POST',
data: { file: file }
})
}
が}) はMVCコントローラコードです:
public class DocumentController : ApiController
{
public async Task<IHttpActionResult> UploadEMRDocument()
{
try
{
var provider = new MultipartMemoryStreamProvider();
await Request.Content.ReadAsMultipartAsync(provider);
var f = provider.Contents.First(); // assumes that the file is the only data
if (f != null)
{
var filename = f.Headers.ContentDisposition.FileName.Trim('\"');
filename = Path.GetFileName(filename);
var buffer = await f.ReadAsByteArrayAsync();
//buffer now contains the file content,
//and filename has the original filename that was uploaded
//do some processing with it (e.g. save to database)
}
else
{
return BadRequest("Attachment failed to upload");
}
}
catch (Exception ex)
{
return BadRequest(ex.Message);
}
return Ok();
}
}
私は、これはルーティングの問題のいくつかの並べ替えであると仮定していますが、私は」わからない。どんな援助も大歓迎です!
あなたの「使用している」ステートメントは何ですか?私はSystem.Net.Httpを使用する場合、私はAPIのコントローラを取得することはできません。 System.Web.Httpを使用すると、MultipartMemoryStreamProviderを使用できません。両方を使用しようとし、[System.Web.Http.HttpPost]を完全に修飾すると、それでもメソッドは見つかりません。 –
さて、私はHttpPostを正しく取得しましたが、それでもコントローラーメソッドにヒットしていません。コンソールにはまだ404(Not Found) –