NativeScript Vue发送表单数据请求(多部分/表单数据)

NativeScript Vue发送表单数据请求(多部分/表单数据),nativescript,multipartform-data,binary-data,nativescript-vue,Nativescript,Multipartform Data,Binary Data,Nativescript Vue,我的应用程序中有一个案例,需要将数据作为表单数据发送到服务器。数据包括消息和可选的文件列表。我面临的问题是,当发送请求时,它的格式不正确 请求有效负载 预期(浏览器中具有相同请求的示例) 实际(在NativeScript中运行时产生的请求) 实际结果是,负载以某种方式被URL编码 代码示例 sendData({id,message,files}){ 常量配置={ 标题:{ “内容类型”:“多部分/表单数据” } }; const payload=new FormData(); payload

我的应用程序中有一个案例,需要将数据作为表单数据发送到服务器。数据包括消息和可选的文件列表。我面临的问题是,当发送请求时,它的格式不正确

请求有效负载

预期(浏览器中具有相同请求的示例)

实际(在NativeScript中运行时产生的请求)

实际结果是,负载以某种方式被URL编码

代码示例

sendData({id,message,files}){
常量配置={
标题:{
“内容类型”:“多部分/表单数据”
}
};
const payload=new FormData();
payload.append('message',message);
如果(files&&files.length>0){
files.forEach((文件)=>{
payload.append(`files`,file,file.name);
});
}
返回AXIOS_INSTANCE.post(
`/api/save/${id}`,
有效载荷,
配置
);
}
从上面可以看到,我正在使用
axios
,并且我正在尝试使用
FormData
来格式化数据。根据我的研究,NativeScript过去似乎不支持通过XHR传输的二进制数据,但现在看来,它已经在大约一年前被修复了

所以我怀疑我做错了什么,也许除了使用
FormData
,还有其他选择,或者我不应该为这个特定的请求使用
axios

版本号

  • nativescript
    6.8.0
  • tns android
    6.5.3
  • tns ios
    6.5.3
Nativescript支持多部分表单数据

请参阅下文,了解如何将其配置为执行多部分上载

var bghttp=require(“nativescript后台http”);
var session=bghttp.session(“图像上传”);
var请求={
url:url,
方法:“张贴”,
标题:{
“内容类型”:“应用程序/八位字节流”
},
描述:“上传”
};
变量参数=[
{name:“test”,value:“value”},
{name:“fileToUpload”,filename:file,mimeType:“image/jpeg”}
];
var task=session.multiportupload(参数,请求);

非常感谢-这非常有效。老实说,我确实看到其他一些帖子提到了这个软件包,但我想看看我是否可以不用它。。但无论如何,它工作得很好:)