是否可以通过api调用将blob文件作为对象传递?

时间:2017-06-12 21:42:49

标签: javascript angularjs api base64 blob

我不确定上述是否可行。但我只是想在一个对象中传递一个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上的局部变量,但它仍然返回undefined 。我不知道这是否是解决这个问题的正确方法,但任何帮助都会感激不尽。

如果您需要更多信息,请与我们联系。

干杯!

1 个答案:

答案 0 :(得分:0)

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

var config = { headers: { 'Content-Type': undefined } });

$http.post(url, blob, config);

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