const fastify = require('fastify');
const multer = require('fastify-multer');
const server = fastify();
server.register(multer.contentParser);
var AWS = require("aws-sdk");
var s3 = new AWS.S3();
var storage = multer.memoryStorage();
var upload = multer({ storage: storage });
灵感来源于罗汉·保罗
2。将文件上传到AWS S3 bucket的函数
uploadInvoice = async (req, res) => {
var files = upload.single("file");
try {
const s3FileURL = ' https://up.s3.amazonaws.com/';
let s3bucket = new AWS.S3({
secretAccessKey: "",
accessKeyId: "",
region: ""
});
const params = {
Bucket: '',
Body: files.buffer,
ContentType: files.mimetype,
ACL: "public-read",
key: files.originalname
};
s3bucket.upload(params, function (err, files) {
if (err) {
res.status(500).json({ error: true, Message: err });
} else {
res.send({ files });
var newFileUploaded = {
description: req.body.description,
fileLink: s3FileURL + files.originalname,
s3_key: params.Key
};
var document = new DOCUMENT(newFileUploaded);
document.save(function (error, newFile) {
if (error) {
throw error;
}
});
}
});
};
我收到的错误是HttpErrorResponse{headers:HttpHeaders,状态:500,状态文本:“内部服务器错误”,url::http://localhost:3000/v1/upload/files“,ok:false,…}错误:{statusCode:500,错误:“内部服务器错误”,消息:“params.Body是必需的”}头:HttpHeaders{normalizedNames:Map(0),lazyUpdate:null,lazyInit:ƒ}消息:“Http失败响应http://localhost:3000/v1/upload/files:500内部服务器错误“名称:“HttpErrorResponse”确定:错误状态:500状态文本:“内部服务器错误”url:http://localhost:3000/v1/upload/files“proto:HttpResponseBase
也许你可以尝试使用multer-s3
。它还应该与Fastif-multer
一起工作。
查看multer-s3的链接以获取更多参考和示例,网址为:
https://github.com/anacronw/multer-s3
如果您正在使用Fastify,请选择fs和泵,而不是Multer,因为到目前为止,Fastify Multer并不完全适用于AWS S3上传
在您的参数中,“key”是小写的,而在上载时,您使用的是params。应该是params的键。钥匙
问题内容: 我想随请求一起发送图像作为参数。我使用下面的代码调用POST请求,但是我不知道如何将图像追加到正文中。 我通过图像选择器获取图像,如下所示: 我的要求如下 我是Swift的新手。我已经通过multipart / form-data看到了这一点,但无法自己实现。我不想将其编码为基本64格式。请帮助我。 问题答案: 我使用以下结构发送图像: 然后在函数中创建如下主体:
问题内容: 我需要即时将画布图像数据上传到服务器(数据库),即,我需要创建一个带有input=file的表单,并在没有任何用户交互的情况下发布图像数据。 问题答案: 您不需要文件输入,只需使用Ajax 获取数据并将其发布到服务器即可。 请参阅MDN文档。 但是即使使用,您也无法在IE中获取图像数据。
但我的观点是,我是靠自己学习的,如果没有解释,初学者很难理解,所以我所要求的只是一个解释,对整个过程的详细解释如果有人很难花时间在这个问题上,因为信不信由你,我发现这是到目前为止最难的话题,因为主要原因是没有关于整个过程的教程,也没有对初学者的解释,如果有人现在能解释概念,对明天将要学习的学生来说会更容易。因此,任何人谁可以解释这详细和如何上传过程的工作和一些步骤,以供参考,将非常感谢。 注意:假
经过一些研究,我发现了一个用于多部分文件上传的开放库。在我的情况下,我想上传一个图像使用PUT请求,其中的图像要么是从画廊或相机选择。以下是我正在使用的资源:1。https://github.com/gotev/android-upload-service2.https://www.simplifiedcoding.net/android-upload-image-to-server/#comme
我想上传图像/文件到服务器使用它的uri使用下面的代码 所以,在这里我的回应是不成功的。API返回我内部服务器错误状态500,但我知道服务器工作良好(我测试了其他应用程序)。另外,文件uri也可以。我是新来的,所以能有人发现我的错误,并详细解释为什么是错误的。
我必须上传从用户首选的应用程序(Cameta,画廊等)选择后的图像文件。我可以在Imageview中显示结果意图为位图。现在我想上传这个图像后,一个按钮将被点击。我用改装来做到这一点。我跟随ImagePicker类将图像收集到我的Imageview中。 正在收集图像代码: 要将图像上载到服务器,我使用改装库 API接口 我的问题是,在将result intent中的Imageview设置为在服务器