【问题标题】:MInio presigned url upload issueMIniio 预签名 url 上传问题
【发布时间】:2021-12-17 21:35:38
【问题描述】:

我的 Minio 预签名 url 有问题,我已经能够获取 url 并使用 PUT 方法将我的文件插入到我的 Minio 存储桶中,但我无法打开它,尤其是当它是 jpg 时png 或 pdf 文件,因为它是由 Minio 自动修改的,它会在文件中添加页眉和页脚,这使得它作为图像不可读

标题示例:

----------- 591397828093304071314847
Content-Disposition: form-data; name="file"; filename="y.png"
Content-Type: image/png

这是我使用 presignedGetObject 下载它时得到的 问题在于 minio 添加的元数据。

enter image description here

我正在使用 Nodejs,这是我的代码:

service.js:

exports.presignedurl = async (filename) => {
  return await minioClient.presignedPutObject(
    process.env.MINIO_BUCKET,
    filename
  );
};
exports.getpresignedurl = async (filename) => {
  return await minioClient.presignedGetObject(
    process.env.MINIO_BUCKET,
    filename,
    24 * 60 * 60
  );
};

controller.js

exports.presignedurl = async (req = null, res = null) => {
  try {
    let filename = req.query.filename;
    let result = await StorageService.presignedurl(filename);
    res.status(200).json(result);
  } catch (err) {
    res.status(405).send({ error: err.message, code: err.code });
  }
};
exports.getpresignedurl = async (req = null, res = null) => {
  try {
    let filename = req.query.filename;
    let result = await StorageService.getpresignedurl(filename);
    res.status(200).json(result);
  } catch (err) {
    res.status(405).send({ error: err.message, code: err.code });
  }
};

【问题讨论】:

  • 警告:问题中的屏幕没有链接。

标签: javascript node.js express storage minio


【解决方案1】:

在这种情况下,关键是如何从邮递员上传文件。上传文件时,您需要使用 Body > Binary > Select File,而不是使用 Body > Form-Data。

来源:https://stackoverflow.com/a/66413354/16587713

【讨论】:

    猜你喜欢
    • 2018-07-10
    • 2018-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-26
    • 2020-09-09
    • 1970-01-01
    相关资源
    最近更新 更多