rest – Angularjs ngResource需要将文件作为其中一个字段

前端之家收集整理的这篇文章主要介绍了rest – Angularjs ngResource需要将文件作为其中一个字段前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下字段的资源:

description,picture

是否可以将该资源作为multipart / form发送到URL,如果是,如何?

我试过放:

app.factory('resource_name',['$resource',function($resource) {
return $resource('<url> ',{
            <params_for_url>
    },save: {
            method: "POST",headers: {
                "Content-Type": "multipart/form-data;"
            }
        },

但这不会作为表单数据到达服务器.它就像JSON一样只设置了标题

{
description: "gtrdgf",picture: {
    lastModifiedDate:2013-11-26T20:42:13.000Z,name: "suggested_pokes.png"
    size: 32995
    type: "image/png"
    webkitRelativePath: ""
}

有没有人之前满足这个要求?如果这是可能的话……

谢谢!

解决方法

我找到了这个解决方案.您必须使用FormData提交它.你可以用它作为拦截器.我这样使用它(这是我的ngResource的保存方法)

save: {
                method: 'POST',transformRequest: formDataObject,headers: {'Content-Type':undefined,enctype:'multipart/form-data'}
            },

这是变压器:

function formDataObject (data) {
            var fd = new FormData();
            angular.forEach(data,function(value,key) {
                fd.append(key,value);
            });
            return fd;
        }

猜你在找的Angularjs相关文章