node.js - 文件上传不超过 64kb - multer 或强大 - nodejs, nuxt
问题描述
下午好,
我正在为路线上传文件并上传。我已经用强大的和现在的 multer 尝试过,但只复制了 64kb 的文件。示例:如果文件为 100kb,则只有 64kb,其余部分丢失。
放置 cconsole.log ("passed") 时,它只显示 64kb 以下的文件,最大的甚至不输入。非常感谢您提前。
代码客户端:
<template>
<input type="file" name="image" id="image" @change="uploadDocument">
</template>
<script>
import { mapState, mapGetters } from "vuex";
export default {
name: "teste",
data() {
return {
fileError: "",
selectedFile: [],
selectedDocType: [ "KYC_DOCUMENT", "KYC_SELFIE", "KYC_ADDRESS"],
imgSrc: "",
Index: -1,
};
},
methods: {
async uploadDocument(event) {
const input = event.target;
const formData = new FormData();
formData.append("kycImage", input.files[0]);
let config = {
headers: {
'Accept': 'application/json',
'Content-Type': 'multipart/form-data;',
}
};
const { data } = await this.$axios.post("/upload/sendFile", formData, config);
}
}
};
</script>
代码服务器:
var express = require('express');
var router = express.Router();
const bodyParser = require('body-parser');
const multer = require('multer');
const upload = multer({ dest: 'C:\\Users\\Giovane\\Documents\\upload' })
var app = express();
app.use(bodyParser.json({ limit: "50mb" }));
app.use(bodyParser.urlencoded({ limit: "50mb", extended: true, parameterLimit: 50000 }));
router.post('/sendFile', upload.single('image'), function(req, res, next){
console.log(req)
});
module.exports = router;
OBS:服务器或客户端均未出现错误
解决方案
我最近遇到了同样的问题,现在找到了解决方案。在 multer 之前执行的中间件中,我将 req.connection 设置为 mysql 连接对象。
对大于 64kb 的快速服务器的请求似乎是作为流发送的,因此它们必须使用请求中的快速连接对象进行处理。
推荐阅读
- java - 如何在另一个线程中运行的 classLoader 小程序中 JNI FindClass
- c++ - 错误:我的 vscode 终端上的“int”之前的预期主表达式
- css - 在 li 元素内具有 flex 属性的中心锚元素
- r - 根据每门课程的名额和学生排名分配愿望
- rust - 将上下文移动到几个闭包中?
- angular - 你可以转换 switchMap observable 的结果来获取它的值而不是 observable 本身吗?
- python - 使用 .loc 通过索引从另一个数据帧中分配值返回: ValueError: Must have equal len keys and value when setting with an iterable
- javascript - 在 JS 中访问父对象的正确方法是什么?
- python - VScode Jupyter 无法连接到我的 venv python3 内核
- flutter - 如何在android studio中接受证书