附加图像并通过json以base64编码发送

海伦

我需要创建附加图片并通过中的JSON发送图片的功能base64但是我无法从FileReader对象获得结果字符串。如果您能告诉我如何解决此问题,我将不胜感激。

<form>
    <label>Picture
         <input type="file" accept=".jpg, .jpeg, .png" name="picture" required>
    </label>
</form>
async function push() {
// some other actions here
    let form = new FormData(document.querySelector('form'));
    let json = construct_json(form);
//calls  of other functions
}

function getBase64(file) {
   let reader = new FileReader();
   reader.readAsDataURL(file);
   reader.onload = function () { // I think there is a mistake here.
     reader.result;
   };
}

function construct_json(form) {
    let json = {
        picture: getBase64(form.get('picture')),
    };

    return JSON.stringify(json);
}

UPD:如果我尝试在push()函数中使用json,则会遇到相同的问题。并且添加等待没有帮助。我将不胜感激如何在push()函数中显示json?

哈里什·马哈雷

根据评论更新答案。您可以参考沙箱上的示例

请添加创建承诺以避免回调地狱。在这里,我答应了base46功能。承诺化

const getBase64Promise = function (file) {
  return new Promise((resolve, reject) => {
    getBase64(file, (success,err) => {
        if(err) reject(err)
        else resolve(success);
    });
  });
};

像这样

async function construct_json(form, callback) {
  let data = await getBase64Promise(form.get("picture"));
    let json = {
      picture: data
    };
    return json;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过套接字发送base64编码图像

来自分类Dev

通过套接字发送base64编码图像

来自分类Dev

如何发送base64编码的图像?

来自分类Dev

使用curl发送base64编码的图像

来自分类Dev

如何通过.ajax以base64编码发布图像?

来自分类Dev

使用Base64编码ImageMagick图像

来自分类Dev

如何缓存base64编码图像

来自分类Dev

无法解码base64编码的图像

来自分类Dev

无效的编码Base64图像数据

来自分类Dev

将Base64编码的图像作为字符串发送到Chromecast

来自分类Dev

使用HttpUrlConnection Android将base64编码的图像发送到服务器

来自分类Dev

将Base64编码的图像作为字符串发送到Chromecast

来自分类Dev

如何使用TYPO3发送base64编码的图像

来自分类Dev

使用Laravel发送Base64图像

来自分类Dev

Ajax发送多个base64图像

来自分类Dev

如何通过图像的Base64编码字符串识别文件类型

来自分类Dev

在Apps脚本中通过HtmlService使用base64编码的图像

来自分类Dev

使用base64编码的数据通过Apps脚本将图像插入Google表格

来自分类Dev

base64编码图像;binascii.Error:无效的base64编码

来自分类Dev

复制图像/粘贴base64编码的图像

来自分类Dev

base64中的编码图像返回图像

来自分类Dev

Base64 编码的图像与保存的图像不同

来自分类Dev

Base 64编码的图像通过电子邮件ASP.NET发送

来自分类Dev

编码Base64并作为附件发送

来自分类Dev

用Javascript同步加载Base64编码的图像

来自分类Dev

如何将图像资源编码为base64?

来自分类Dev

使用JavaScript创建base64编码的图像

来自分类Dev

干预图像-以base64编码格式保存到变量

来自分类Dev

电子邮件中的Base64编码图像