【问题标题】:Angular Ng-File-Upload url cannot find MVC ApiController MethodAngular Ng-File-Upload url 找不到 MVC ApiController 方法
【发布时间】:2016-07-20 02:35:13
【问题描述】:

我正在尝试使用 ng-file-upload 上传文件并将 blob 保存到数据库,就像我之前的问题 Ng-File-Upload to Save PDF Blob to Database

我相信我有“正确”的代码来完成任务,但现在的问题是我无法让代码“命中” ApiController 中的方法。如果我将该方法放在常规异步控制器中,它会找到它(但是我不能使用所需的一半代码,因为它不起作用,除非它位于从 ApiController 继承的控制器中),但它不会在 ApiController 中找到相同的方法。我错过了什么?

这是 Angular 控制器代码:

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();

    }
}

我假设这是某种路由问题,但我不确定。非常感谢任何帮助!

【问题讨论】:

    标签: angularjs asp.net-mvc asp.net-mvc-routing asp.net-web-api-routing


    【解决方案1】:

    我需要将网址更改为

    url: '/SSQV4/SSQV5/api/Document/UploadEMRDocument'
    

    现在它成功了。感谢您的帮助 Nava-Prev.Queti!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-16
      • 2016-11-03
      • 2016-11-15
      • 1970-01-01
      • 2017-02-27
      • 2016-03-11
      • 1970-01-01
      • 2019-06-11
      相关资源
      最近更新 更多