当前位置: 首页 > 面试题库 >

使用$ http发送带有角度的multipart / form-data文件

梁鸿风
2023-03-14
问题内容

我知道对此有很多疑问,但我无法解决这个问题:

我想将输入中的文件上传到multipart / form-data中的服务器

我尝试了两种方法。第一:

headers: {
  'Content-Type': undefined
},

这导致例如图像

Content-Type:image/png

它应该是多部分/表单数据

和另外一个:

headers: {
  'Content-Type': multipart/form-data
},

但这要求一个边界标头,我认为不应手动插入…

解决此问题的干净方法是什么?我读过你可以做的

$httpProvider.defaults.headers.post['Content-Type'] = 'multipart/form-data; charset=utf-8';

但是我不希望我的所有帖子都是多部分/表单数据。默认值应为JSON


问题答案:

看一下FormData对象:https
:
//developer.mozilla.org/en/docs/Web/API/FormData

this.uploadFileToUrl = function(file, uploadUrl){
        var fd = new FormData();
        fd.append('file', file);
        $http.post(uploadUrl, fd, {
            transformRequest: angular.identity,
            headers: {'Content-Type': undefined}
        })
        .success(function(){
        })
        .error(function(){
        });
    }


 类似资料:
  • 问题内容: 我正在开发使用不同服务其余部分的图形界面(用Java编写)。我必须调用这样的服务: 呼叫服务: 当我从Angularjs服务文件中请求时,如果服务具有Content-Type = multipart / form- data,则会收到错误400(错误请求) 如果服务的Content-Type =“ application / x-www-form-urlencoded; charset

  • 我正在尝试使用curl向REST服务发布一个xml文件(utf-16编码)。REST服务需要“multipart/form-data”内容类型。 Curl脚本:Curl-k-i-h“content-type=multipart/form-data”-f“filename=@file.xml;type=text/xml”-x POST-u: 然而,我在运行脚本时得到500个内部服务器错误。 响应:<

  • 问题内容: 如何在python中发送带有请求的请求?我了解如何发送文件,但是通过这种方法如何发送表单数据尚不清楚。 问题答案: 基本上,如果你指定参数(字典),则将发送m而不是。你不限于在该词典中使用实际文件,但是: 可以让你知道你发布了哪些标题;在我们有: 更好的是,你可以通过使用元组而不是单个字符串或字节对象来进一步控制每个部分的文件名,内容类型和其他标题。该元组应该包含2到4个元素;文件名,

  • 我不知道为什么不能让jQuery传递上传数据,因为AJAX对象似乎配置正确,并且发送了正确的content-type/mime-type头部。 我尝试了两种不同的请求形式--一种是将FormData对象包含在文本中,另一种是直接传递FormData对象。 不幸的是,不管怎样,我都无法传递任何内容,$_files和$_post都是空数组。

  • 问题内容: 我正在尝试使用伪装完成多部分文件上传,但似乎在任何地方都找不到很好的示例。我本质上希望HTTP请求类似于以下内容: 甚至… 我是否需要手动构建请求主体,包括生成多部分边界?考虑到此客户端可以执行的其他所有操作,这似乎有点过头了。 问题答案: 不,你没有。您只需要定义一种代理接口方法,将content-type指定为:multipart / form- data和其他信息,例如远程API

  • 我试图使用feign完成一个多部分文件上传,但是我似乎在任何地方都找不到一个好的例子。我基本上希望HTTP请求的结果类似如下: 或者甚至… 我需要手动构建请求体吗,包括生成多部分边界?考虑到这个客户端可以做的所有其他事情,这似乎有点过分。