Flow Js - 将文件上传为数组

时间:2015-11-19 06:57:00

标签: javascript angularjs asp.net-mvc flow-js

我正在尝试使用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()

我能以任何方式实现这一目标吗?

2 个答案:

答案 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 />