如何在Nativescript中使用多部分表单数据上传文件?

4

我需要从 Nativescript 应用程序中上传文件和其他数据。以下是我的做法:

const data = new FormData();
data.append('name', 'Some Name');
data.append('profile_picture', profilePic);

这里的个人资料图片是一个nativescript文件对象,但它似乎不能按预期工作。它被发送到服务器时变成了"[object object]"。

如何在表单数据中上传文件?


你试过这个吗?http://nativescript.github.io/nativescript-background-http/ - inf3rno
4
是的,它只允许将文件直接作为八位字节流上传,而不是作为表单数据的一部分。 - Prabhakar Bhat
2
如果您想将其作为表单数据发送,可以使用base64对图片进行编码。 - Kansen
1
这对于图片来说还好,但其他地方我也需要发送视频。base64可能不是最好的方式。 - Prabhakar Bhat
2个回答

4
自从1月份开始,https://github.com/NativeScript/nativescript-background-http也支持多部分上传。
示例:
var request = {
    url: url,
    method: "POST",
    headers: {
        "Content-Type": "application/octet-stream",
        "File-Name": name
    },
    description: description
};

var params = [{name: "test", value: "value"}, {name:"fileToUpload", filename: file, mimeType: 'image/jpeg'}];
task = session.multipartUpload(params, request);

你如何上传多个文件? - FourtyTwo

2

NativeScript v6.3 将会支持二进制。详情请见此问题。届时您将不再需要使用nativescript-background-http。您可以在这里查看我的完整说明。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接