在发送到 web 服务之前将数据包含在 base64 中

include data in base64 before sending to webservice

我正在 mvc-5 中创建一个网络应用程序,我想在其中将 (pdf,word,excel,images) 转换为二进制数据,然后将数据插入数据库

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

这是我将数据转换为二进制的代码,但是当我打印数据时console.log($scope.data);数据显示如下

f?±3-ÂÞ²]ÄTê¸2j)õ,l0/%b¬ ð¼Ñêz£¿§Å, ¡ /û|f\Zþçæ?6ï!Y´_áo]Aó

我的一个朋友说我在将数据发送到 webservice 之前将数据转换为 base 64,我想在将其发送到 webservice 之前将此代码转换为 base 64,请给我一些可以帮助它转换的代码数据转换为 base 64

您可以使用 readAsDataURL 而不是 readAsBinaryString

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