将(所有类型)文件转换为bytesjs字节

时间:2016-12-23 08:30:24

标签: c# angularjs file controller binary

我正在创建一个Web应用程序,我需要将上传的文件转换为二进制格式并将其存储到数据库中

这就是我在c#

中的表现
Stream fs = fempupload.PostedFile.InputStream;

BinaryReader br = new BinaryReader(fs);

Byte[] bytes = br.ReadBytes((Int32)fs.Length);

现在我想对angularjs

做同样的事情
    <div class="col-md-6 col-sm-6 col-xs-12" style="background-color:whitesmoke;">
         <label>Upload Your Photo</label>
         <input type="file" ng-model="mdfile" class="form-control"  custom-file-input />
   </div>

从这里我上传我的数据

<a href="#" ng-click="savefunction()" class="btn btn-sm btn-success col-md-6 col-sm-12 col-xs-12" ng-animate="'btn'"><i></i>Save</a>

这是我的保存按钮

任何人都可以帮助我将数据从我的控制器转换为二进制格式

1 个答案:

答案 0 :(得分:0)

<div ng-controller="MyCtrl">
  <input type="file" id="file" name="file"/>
  <br>
  <button ng-click="add()">Add</button>
  <p>{{data}}</p>
</div>

假设它是你的html代码然后将以下代码写入你的控制器,它将为你提供二进制格式的文件格式

    $scope.data = 'none';
    $scope.add = function(){
      var f = document.getElementById('file').files[0],
          r = new FileReader();
      r.onloadend = function(e){
        $scope.data = e.target.result;
      }
      r.readAsBinaryString(f);

所以在发送到服务器的时候你需要像那样添加base 64字符串

data:image/jpeg;base64,binary format of file

希望它会对你有所帮助。对于我的代码中的任何问题或任何更新,请写在评论部分..