【问题标题】:Is it possible to pass a blob file as an object via an api call?是否可以通过 api 调用将 blob 文件作为对象传递?
【发布时间】:2017-11-14 12:05:34
【问题描述】:

我不确定上述是否可行。但我只是想在一个对象中传递一个 blob 文件或其 base64 表示,所以在服务器端我可以将它发送到数据库,甚至可以通过电子邮件将它作为 pdf 发送。我的大部分逻辑都失败了......我只是在努力使用 api 调用将文件从客户端发送到服务器。有人知道如何在 angularjs 中做到这一点吗?

我经常看到这个:

var reader = new FileReader();
   reader.onload = function(event){
       createImage(event.target.result); //event.target.results contains the base64 code to create the image.
        };
reader.readAsDataURL(blob);//Convert the blob from clipboard to base64

但是因为它是一个异步方法,所以我不能立即将它分配给我的对象变量...所以我尝试在将其记录到控制台后将其分配给 onload 上的局部变量,但它仍然返回未定义。我不知道这是否是解决此问题的正确方法,但任何帮助将不胜感激。

如果您需要更多信息,请告诉我。

干杯!

【问题讨论】:

    标签: javascript angularjs api base64 blob


    【解决方案1】:

    要将 Blob 从 AngularJS 客户端发送到服务器,请使用 $http Service

    var config = { headers: { 'Content-Type': undefined } });
    
    $http.post(url, blob, config);
    

    将内容类型设置为undefined 以覆盖AngularJS 默认的application/json 非常重要。

    【讨论】:

      猜你喜欢
      • 2020-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-11
      • 2020-09-23
      • 1970-01-01
      相关资源
      最近更新 更多