开发者社区> 问答> 正文

QN.fetch如何上传图片

QN.image.get({
            query: {
                source: value,
                limit: 1,
            },
        })
        .then((result) => {
            console.log(result);
            let formData = new FormData();
            let paths = 'file:/'+result.data[0].path;
            let img_names = paths.split('/');
            img_names = img_names[img_names.length - 1];
            let file = {uri:paths,type:'multipart/form-data',name:img_names};
            console.log(paths);
            formData.append("attachment",file);
            QN.fetch(url+'itembaby2/songleiaaaa', {
                method: 'POST',
                body: formData,
                headers: {
                                  'Content-Type': 'multipart/form-data;charset=utf-8',
                            },
            })
            .then(response => {
                return response.json(); // => 返回一个 `Promise` 对象
            })
            .then(data => {
                console.log(data); // 真正地数据结果
            })
            .catch(error => {
                console.log(error);
            });
        }, (error) => {
            console.log(error);
        });

想法是这样的。通过QN.image拿到图片路径后。通过QN.fetch上传到服务端。

目前遇到的问题是,QN.fetch这块可能有问题。服务端一直接收不到数据

展开
收起
爱用kk 2017-05-08 17:57:23 4091 0
1 条回答
写回答
取消 提交回答
  • 目前 QN.fetch 不支持读取二进制数据,因此,这种上传方式不可行。

    可行的方式是:

    通过 QN.image.get 获取到图片的 base64 数据,将 base64 的值和文件名上传给服务端,然后服务端解析 base64数据还原成图片。

    2019-07-17 21:08:59
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载