【发布时间】:2016-07-20 14:24:43
【问题描述】:
我目前正在使用 nativescript-background-http 上传图片,我只是想知道有没有办法在发送图片后从服务器获取响应正文或响应标头?
【问题讨论】:
-
嘿,您找到获取响应正文的方法了吗?
标签: nativescript
我目前正在使用 nativescript-background-http 上传图片,我只是想知道有没有办法在发送图片后从服务器获取响应正文或响应标头?
【问题讨论】:
标签: nativescript
以防一年后有人遇到同样的问题:
task.on("responded", (e) => {
JSON.parse(e.data)
}
【讨论】:
我能够从服务器获取响应的方法是在完整方法中使用 getBodyAsString() 方法并对其进行解析。
task.on("complete", (ev: any) => {
console.log("Upload complete");
let sr = JSON.parse(ev.response.getBodyAsString());
});
【讨论】:
function sendImages(uri, fileUri) {
imageName = extractImageName(fileUri);
var request = {
url: "http://httpbin.org/post",
method: "POST",
headers: {
"Content-Type": "application/octet-stream",
"File-Name": imageName
},
description: "{ 'uploading': " + imageName + " }"
};
var task = session.uploadFile(fileUri, request);
task.on("progress", logEvent);
task.on("error", logEvent);
task.on("complete", logEvent);
function logEvent(e) {
console.log("----------------");
console.log('Status: ' + e.eventName);
// console.log(e.object);
if (e.totalBytes !== undefined) {
console.log('current bytes transfered: ' + e.currentBytes);
console.log('Total bytes to transfer: ' + e.totalBytes);
}
}
return task;
}
【讨论】: