如何解决如何通过imgur包上传图片
我正在创建我的restful api,其中一个功能是用户可以上传图像及其标题。所以,我使用的是 npm 包 imgur。这是我的代码。在我的控制器中,我首先设置了 clientId 和 APIURL,但是当我尝试上传图像时,邮递员只是发送了有关“错误请求”的消息。 npm包页面显示可以通过以下代码上传单张图片。
有人有使用这个包的经验吗?请帮助配置我在这里错过或出错的地方...
postController
const imgur = require("imgur");
imgur.setClientId(process.env.imgur_userID);
imgur.setAPIUrl("https://api.imgur.com/3/");
createPost: (req,res) => {
const { content } = req.body;
const encode_img = req.file.buffer.toString("base64");
imgur
.uploadBase64(encode_img)
.then((json) => {
console.log(json.data.link);
})
.catch((err) => {
console.error(err.message);
});
}
postRouter
const postControllers = require("../controllers/post.controller");
const { Router } = require("express");
const router = Router();
const uploadService = require("../middlewares/uploadService");
const verifyToken = require("../middlewares/verifyToken");
router
.route("/all")
.get(verifyToken,postControllers.getAllPosts)
.post(verifyToken,uploadService.single("image"),postControllers.createPost);
上传图片的中间件
const multer = require("multer");
const fileFilter = (req,file,cb) => {
if (!file.originalname.match(/\.(jpg|jpeg|png)$/)) {
cb(null,false);
return cb(new Error("Please upload an image"));
} else {
cb(null,true);
}
};
const upload = multer({
fileFilter,limits: { fileSize: 1024 * 1024 * 2 },});
module.exports = 上传;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。