我试图创建一种方法,客户端可以上传图像从前端到后端服务器,然后将图像存储到Cloud dinary,但我最终得到了这个错误:
TypeError[ERR_INVALID_ARG_TYPE]:路径参数必须是字符串类型或Buffer或URL的实例。收到未定义
这是我的后端代码库:
const express = require("express");
const router = express.Router();
const { catchErrors } = require("../errors/errorHandlers");
const { body } = require("express-validator");
const multer = require('multer');
const cloudinary = require('cloudinary').v2;
const streamifier = require('streamifier');
const storage = multer.memoryStorage();
const fileUpload = multer({ storage: storage });
const fs = require('fs');
cloudinary.config({
cloud_name: "xxx",
api_key: "xxxx",
api_secret: "xxxx",
});
这是我从控制台得到的
Images {
file: {
name: 'me.jpg',
data: <Buffer ff d8 ff e0 00 10 4a 46 49 46 00 01 01 00 00 f0 00 f0 00 00 ff e1 03 78 45 78 69 66 00 00 4d 4d 00 2a 00 00 00 08 00 09 01 0f 00 02 00 00 00 06 00 00 ... 442191 more bytes>,
size: 442241,
encoding: '7bit',
tempFilePath: '',
truncated: false,
mimetype: 'image/jpeg',
md5: 'a01832d1a390b2bcd7e2b6103d68eaa4',
mv: [Function: mv]
}
}
{ message: 'Request Timeout', http_code: 499, name: 'TimeoutError' }
我如何解决这个问题?
您是否可能错过了dataUri函数,该函数将格式化缓冲区以字符串形式返回?请参见资源:https://medium.com/@joeokpus/上传图像到云计算使用多特尔和高速公路js-f0b9a4e14c54
让我知道这是否有帮助。
我也有同样的错误。以下是你如何解决它:
npm安装数据URI
const DatauriParser=require("datauri/parser");
const parser = new DatauriParser();
由于使用multer解析表单并将其存储在内存中:
console.log("req.file object",req.file)
const extName = path.extname(req.file.originalname).toString();
const file64 = parser.format(extName, req.file.buffer);
file64
是一个DataUri对象。我们不能直接通过
const result = await Cloudinary.upload(file64.content!);
console.log("result of Cloudinary upload",result")
这个结果对象具有secure_url属性,这是到文件的安全https链接。
electron应用程序代码来自《跨平台桌面应用程序》一书,它旨在向浏览器显示用户文件目录,就像在桌面资源管理器应用程序中一样。 打印到开发人员工具控制台时出现的错误为“Uncaught(in promise)TypeError[ERR_INVALID_ARG_TYPE]:“path”参数必须是string类型。未定义接收。我做错了什么?
我是Node的新手。我尝试用node开发一个简单的电影api应用程序。js和我用express generator创建了应用程序。我遇到了这个错误,我无法处理它。 首先,我在google上找到了我检查过的github和stackoverflow,但我无法解决我的问题。 首先,此处显示错误消息: TypeError[ERR_INVALID_ARG_TYPE]:"path"参数必须是string类型。
我正在尝试上传文件与multer和我收到这个错误。 内部/validators.js:117 抛出新的ERR_INVALID_ARG_TYPE(名称,'string',value); ^ TypeError[ERR_INVALID_ARG_TYPE][ERR_INVALID_ARG_TYPE]:“path”参数的类型必须是字符串。接收未定义 当我从angular和Postman两方面尝试时,我面临
我正在将智能合约部署到Rinkeby网络,然后尝试用 但是它不起作用,并继续显示此消息,但是我已经安装了松露验证插件,反应脚本和cucumber。 这是我的package.json 这是我的truffle-config.js
我有这个代码返回一个错误: 参数必须是实现可数的数组或对象?
我试图安装PayPal我的localhost,但当我测试payment.php得到以下警告在这个文件: 警告:sizeof():参数必须是在第176行的/Applications/MAMP/htdocs/functions/PayPal/vendor/PayPal/restapi sdk php/lib/PayPal/Common/PayPalModel.php中实现可数的数组或对象 paymen