我正在创建一个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>
这是我的保存按钮
任何人都可以帮助我将数据从我的控制器转换为二进制格式
答案 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
希望它会对你有所帮助。对于我的代码中的任何问题或任何更新,请写在评论部分..