本文介绍了文件上传与HTTP $的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这个问题是不是太难了?

我有我的客户端code用POST数据变量,想知道怎样才能文件中的数据添加到 $ http.post

我见过一些例子,无论他们用的是自定义的指令或手动提交表单,既不其中我要找的。

客户端:

 <输入类型=文件ID =照片>
//文件可以使用访问
变种照片=的document.getElementById(照片)的文件[0]。
$ scope.data.photo =照片

  VAR FORMDATA =新FORMDATA();
formData.append(照片,照片);
formData.append(称号,$ scope.data.title);
this.delegate.insert(FORMDATA);

调度服务

  $ http.post(/管理/扬声器/?+数据,token.body)//token.body = $ scope.data
    .success(功能(数据,状态,头,配置){
     })
    .error(功能(数据,状态,头,配置){
    });

期望输出服务器端(使用邮差生产 - REST客户端)

 的console.log(request.files,request.body);{照片:
   {字段名:'照片',
     ORIGINALNAME:'01的.jpg',
     名称:'fbb54fa6d588ac253ca7dab08a904356.jpg',
     编码:'7位',
     MIME类型:图像/ JPEG,
     路径:'/var/folders/jg/hkmz0fdn64g8w1jgf60j2lcw0000gn/T/fbb54fa6d588ac253ca7dab08a904356.jpg',
     延伸:JPG,
     大小:12279,
     截断:假的,
     缓冲区:空}}{名称:'SA',
  标题:'开发',
  公司:CA,
  生物:一些生物,
  Twitter的:@twitter',
  的sessionId:'1'}


解决方案

尝试 Content-Type头设置为未定义 transformRequest angular.identity (不序列化对象FORMDATA):

  $ http.post(/管理/扬声器/?+数据,token.body,{
    transformRequest:angular.identity,
    标题:{
        内容类型:未定义
    }
})。成功(功能(数据,状态,头,配置){})错误(功能(数据,状态,头,配置){});

这篇关于文件上传与HTTP $的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-19 17:07
查看更多