我正在尝试使用FlowJS角度插件来上传功能,我需要稍微调整一下。 我将拥有所有类型的文件
我正在使用ASP.NET MVC。
<input type="file" flow-btn />
我的输入按钮
<input type="button" ng-click="uploadFiles($flow)">
我的上传按钮
$scope.uploadme = function (flows) {
flows.upload();
});
功能
[HttpPost]
public string UploadFile(HttpPostedFileBase file)
{
int fileSizeInBytes = file.ContentLength;
MemoryStream target = new MemoryStream();
file.InputStream.CopyTo(target);
byte[] data = target.ToArray();
return "";
}
我的mvc控制器
public string UploadFile(HttpPostedFileBase[] file)
{
}
这样可以正常工作,但是当我上传多个文件时,每次都会为一个文件命中控制器。我需要找到一种方法立即将所有文件发送到控制器,有些事情如
after()
我能以任何方式实现这一目标吗?
答案 0 :(得分:1)
您在控制器中不需要UploadFile(HttpPostedFileBase[] file)
这样的内容。
只需创建控制器
public string UploadFile()
{
var httpRequest = HttpContext.Current.Request;
//httpRequest.Files.Count -number of files
foreach (string file in httpRequest.Files)
{
var postedFile = httpRequest.Files[file];
using (var binaryReader = new BinaryReader(postedFile.InputStream))
{
//Your file
string req = System.Text.Encoding.UTF8.GetString(binaryReader.ReadBytes(postedFile.ContentLength));
}
}
}
答案 1 :(得分:1)
将multiple
属性添加到input
<input type="file" multiple="multiple" flow-btn />