如何通过SuperAgent从Android文件系统发送图像

时间:2015-12-09 14:24:34

标签: android react-native superagent

在我的React Native Android应用程序中,我正在使用Superagent for Requests。 现在我需要将图像发送到我的后端。我的后端正在等待带有图片网址/路径的帖子。我管理它,腾出文件系统中的Image,在这个例子中,图像是JPG

postUserAvatar: function (userToken, image) {
    superAgentRequest
        .post(API_URL + 'user/avatar')
        .set({
            'Authorization': userToken
        })
        .send({
            'image': image
        })
        .end(function (err, res) {
            console.log(JSON.parse(res.text))
        })
}

现在这根本不起作用。也许有人使用Superagent请求并将图像发送到后端。我希望看到代码片段,如果可能的话或者得到一些提示,请:)

这就是我从文件系统看到的图像路径

  

'/存储/模拟/ 0 /图片/ 9a92e201-4740-4caa-b96d-8a4a5903a0e8.jpg'

更新

根据最新的回答,我使用.attach发送我的图像文件。它仍然无效。这就是我的代码目前的样子:

 postUserAvatar: function (userToken, filePath, fileName) {
    console.log('FileName: ' + fileName);
    console.log('FilePath: ' + filePath);
    request
        .post(API_URL + 'user/avatar')
        .set({
            'Authorization': userToken,
            'Content-Type': 'multipart/form-data'
        })
        //.send({image: image})
        .attach('image', filePath, fileName)
        .end(function (err, res) {
            if (err) {
                console.log('ERROR: ' + err);
            } else {
                console.log(JSON.parse(res.text));
            }
        })

文件路径:

  

'/存储/模拟/ 0 /图片/ 9a92e201-4740-4caa-b96d-8a4a5903a0e8.jpg'

FileName:

  

“9a92e201-4740-4caa-b96d-8a4a5903a0e8.jpg

1 个答案:

答案 0 :(得分:1)

根据SuperAgent文档,您应该在确保文件路径后使用.attach

postUserAvatar: function (userToken, image) {
    superAgentRequest
       .post(API_URL + 'user/avatar')
       .set({
             'Authorization': userToken
        })
        .attach('image',image)
        .end(function (err, res) {
            console.log(JSON.parse(res.text))
        })
}