我有以下字段的资源:
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; }