我正在尝试使用MVC中的AngularJs上传文件。但是当发布数据时,它会在500内部服务器上引发错误。
在我的控制器中 -
[HttpPost]
public int FileUploadFromAngular(HttpPostedFile fileUploadObj)
{
return 1;
}
方法 FileUploadFromAngular ,我从Angular JS控制器调用一个文件。我在其中定义了一个变量,如 -
$scope.uploadFile = function () {
var file = $scope.myFile;
console.log('file is ');
console.dir(file);
var uploadUrl = "Home/FileUploadFromAngular";
FileUploadService.uploadFileToUrl(file, uploadUrl);
};
调用控制器方法而不传递参数但是当我在操作方法中将参数作为HttpPostedFile传递时,它不会调用该方法。请帮我了解一下如何在操作方法中将文件发布为HTTpPostedFile?
答案 0 :(得分:1)
您不会将该文件作为参数。 Angular用Request.Files
发送它。你必须检索如下文件:
[HttpPost]
public int FileUploadFromAngular()
{
HttpPostedFileBase fileUploadObj= Request.Files[0];
//for collection
HttpFileCollectionBase fileUploadObj= Request.Files;
return 1;
}