簡體   English   中英

將文件(圖像、音頻、視頻)的確切存儲大小從 Angularjs 保存到 WepApi

[英]Save exact storage size of file(image,audio,video) from Angularjs to WepApi

我嘗試上傳 2mb 文件,但 $scope.selectedFile.base64 長度超過 2mb 但我想保存相同的文件大小

Html

<input type="file" id="fileUpload" name="files" ng-model="selectedFile" base-sixty-four-input> 
<button  ng-click="vm.saveFile()"> Upload </button>

JS

$scope.saveFile = function(){
 var data = {
                    fileType: $scope.selectedFile.filetype,
                    fileName: $scope.selectedFile.filename,
                    fileBase64 : $scope.selectedFile.base64,
                };
}

myService.uploaddDocument(data).then(function (response) {
}

我在這種方法中嘗試了另一種方法,(uploadFile.size 和 event.target.result.split(',')[1].length )大小都不同

Html

<input type="file" id="fileUpload" name="files" onchange="angular.element(this).scope().fileChanged(event)">

JS

$scope.fileChanged = function (files) {
 var uploadFile = document.getElementById("fileUpload").files[0];
 console.log(uploadFile.size);
   var fileReader = new FileReader();
    fileReader.onload = function (event) {
    console.log(event.target.result.split(',')[1].length);
    }
}

所以,請告訴我保存相同文件大小的解決方案

當(任何)base64 字符串轉換為 c# 中的 byteArray 時,byteArray 的大小等於原始文件大小。

C#:

Convert.FromBase64String(base64);

我們可以從 base64 計算文件的實際大小(如 base64 長度 * 0.75 = 實際文件大小)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM