Base64 图像上传到 S3 时损坏

2024-01-01

router.post('/image', multipartMiddleware , function(req, res) {

   var file_name = req.body.name;
   var data = req.body.data;

   return s3fsImpl.writeFile(file_name , data , 'base64').then(function (err) { 

        res.status(200).end();
    });

});

我上面的代码有什么问题?我的散热器没有错误,我的 s3 中有该文件,但下载时它已损坏。


因为我不知道什么s3fsImpl在您的代码中,我无法回答您的实现,但这是我使用 aws-sdk 的方法:

const AWS = require('aws-sdk');
const s3 = new AWS.S3({apiVersion: '2006-03-01'});
const file_name = req.body.name;
const data = req.body.data;
// We need to get the format of the file from the base64 string i.e. data:image/png;base64<base64String>
const format = data.substring(data.indexOf('data:')+5, data.indexOf(';base64'));

// We need to get the actual file data from the string without the base64 prefix
const base64String = data.replace(/^data:image\/\w+;base64,/, '');
const buff = new Buffer(base64String,'base64');

s3.upload({
    Bucket:'s3-bucket-name',
    Key: file_name, 
    Body: buff, 
    ContentEncoding:'base64',
    ContentType:format
}, function(err, data) {
        if (err) console.log(err, err.stack); // an error occurred
        else     console.log(data);           // successful response
   });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Base64 图像上传到 S3 时损坏 的相关文章

随机推荐

  • Entity Framework 5.0 PostgreSQL (Npgsql) 默认连接工厂

    我试图首先使用 PostgreSQL Npgsql 提供程序 获取 EF 5 0 代码 我通过 NuGet 安装了 Npgsql 2 0 12 1 尽管引用的程序集是 2 0 12 0 我在 app config 中声明了 Npgsql 默
  • mmap:强制 64K 对齐

    我正在将 由我 为 Windows 编写的项目移植到移动平台 我需要相当于VirtualAlloc 朋友 自然的就是mmap 然而 有两个显着差异 返回的地址VirtualAlloc保证是所谓的倍数分配粒度 dwAllocationGran
  • 在 SQLalchemy 中过滤左连接

    使用 SQLalchemy 我想执行左外连接并且过滤掉在连接表中确实有匹配的行 我正在发送推送通知 所以我有一个Notification桌子 这意味着我也有一个ExpiredDeviceId用于存储不再有效的 device id 的表 我不
  • 强制标准输出编码为 UTF8

    我希望从我的 C 项目中另一个应用程序的标准输出流中解析 UTF8 字符 使用默认方法 从进程的标准输出流读取时 ANSI 范围之外的字符会被损坏 现在根据微软的说法 我需要做的是设置StandardOutputEncoding 如果 St
  • 将 hibernate 添加到 netbeans 中的现有 Web 应用程序中?

    我在 netbeans 中创建了一个 Web 应用程序 它运行良好 现在出于学习目的 我想使用 hibernate 进行数据库交互 我可以在 netbeans 中使用 hibernate 创建一个新项目 但我不知道如何在现有项目中添加 hi
  • Javascript getImageData for canvas html5

    我已经把头发扯下来了 我得到了这个工作 认为 我可以承担不保存这个版本的费用 然后我 打破了 构建 线路myImageData context getImageData 0 0 canvas width canvas height 似乎打破
  • PHP进程间通信监控消息队列

    我正在开发一个项目 为排行榜和其他几个位置生成统计数据 我的目标是尽可能实时 因此我实现了一个用于消息队列的 RabbitMQ 服务器 在前端 我有一个 Nodejs 设置 用于将信息提供给正在观看它的客户 在同一台服务器上 我有一个 PH
  • InvalidOperationException:内容类型不正确:ASP.NET Core

    我有两种表格 一种用于登录 一种用于注册 它们都在同一视图上并使用同一模型 我正在使用控制器处理表单提交 我在访问登录页面时收到以下错误 InvalidOperationException Incorrect Content Type 完整
  • Custom.css 在 32.0.1700.76 m Google Chrome 更新中停止工作

    我使用此网站上的 Google 开发者工具的一些主题 http devthemez com themes chrome developer tools http devthemez com themes chrome developer t
  • 如何将元素数组转换为 NodeList?

    首先第一件事是 这不是问如何将 NodeList 转换为数组 这是相反的 为了保持一致性 我想创建一个返回 NodeList 的函数 就像document querySelectorAll does 这是我当前的代码 var toNodeL
  • 如何使用reason-react有条件地在JSX中设置HTML属性?

    我想渲染一个 HTML 复选框 其选中状态由数据控制 给出一个接收一个无状态组件item type label string checked bool Like so let component ReasonReact statelessC
  • 删除 MySQL 表中的重复条目[重复]

    这个问题在这里已经有答案了 我有一个有几千行的表 该表包含两列 name and email 我有几个重复的行 例如 约翰 史密斯 电子邮件受保护 cdn cgi l email protection 约翰 史密斯 电子邮件受保护 cdn
  • 有没有办法影响 AlchemyAPI 情感分析

    我使用 AlchemyAPI 进行文本分析 我想知道是否有办法影响 API 结果或根据要求对其进行微调 我试图分析互联网上可用的不同呼叫中心对话 了解情绪 即客户是否不满意 生气 因此对话是否消极 对于十分之九的对话 它给出的情绪是积极的
  • 无法解析:com.google.code.gson:gson.2.2.2

    我将项目从 eclipse 导入到 android studio 并在将项目与 gradle 文件同步后收到上述消息 我是 android studio 的新手 不知道如何解决这个错误 以下是 Gradle 文件 apply plugin
  • Bitbucket 上的 Git:始终要求输入密码,即使在上传我的公共 SSH 密钥后也是如此

    我上传了我的 ssh id rsa pub to Bitbucket 的 SSH 密钥 https bitbucket org account ssh keys as 解释了 https confluence atlassian com b
  • Windows Phone 8.1 设备 (Lumia 930) 和 VS2013 调试仅适用于禁用 WiFi

    当 Windows Phone 8 1 应用程序启动进行部署和调试时 VS2013 中出现错误 错误 1 错误 DEP6100 发生以下意外错误 在 boostrapping 阶段 连接到设备 SmartDeviceException 部署
  • Flutter 自动完成功能在 VSCode 中不适用于包

    我将整个 flutter 项目移动到一个新文件夹 一切运行正常 自动完成功能适用于 flutter 中的构建文件 例如 Container Column 但是当我尝试使用包 例如提供者 时 我需要进入 pub dev 页面并复制导入 手动导
  • word2vec - 什么是最好的?添加、连接或平均词向量?

    我正在研究循环语言模型 为了学习可用于初始化语言模型的词嵌入 我使用 gensim 的 word2vec 模型 训练后 word2vec 模型为词汇表中的每个单词保存两个向量 单词嵌入 输入 隐藏矩阵的行 和上下文嵌入 隐藏 输出矩阵的列
  • Hadoop集群节点数

    我正在尝试设置 Hadoop 多节点集群 当我启动集群时 这是我在控制台中的响应 hduser hadoop master usr local hadoop usr local hadoop sbin start dfs sh Starti
  • Base64 图像上传到 S3 时损坏

    router post image multipartMiddleware function req res var file name req body name var data req body data return s3fsImp