Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有没有办法用膝关节炎来重命名上传图像?_Javascript_Node.js_Koa_Body Parser_Koa2 - Fatal编程技术网

Javascript 有没有办法用膝关节炎来重命名上传图像?

Javascript 有没有办法用膝关节炎来重命名上传图像?,javascript,node.js,koa,body-parser,koa2,Javascript,Node.js,Koa,Body Parser,Koa2,我只使用了一个语法分析器,我刚刚发现它不能形成允许上传文件的数据。所以我正在尝试这些模块。但是我不知道如何在保存上传文件之前重命名它。因为我以前从未做过这件事,所以我想知道怎么做。有什么想法吗?这取决于重命名文件的范围 如果您希望重命名文件以获得唯一性,那么大多数库都会为您处理该文件,因此您无需执行任何操作 如果你想给它一个自定义的名字,你不能在上传之前做,但是你可以在上传之后很容易地做 下面是一个使用 然后在你的路线上 router.post('/upload-file', async fun

我只使用了一个语法分析器,我刚刚发现它不能形成允许上传文件的数据。所以我正在尝试这些模块。但是我不知道如何在保存上传文件之前重命名它。因为我以前从未做过这件事,所以我想知道怎么做。有什么想法吗?

这取决于重命名文件的范围

如果您希望重命名文件以获得唯一性,那么大多数库都会为您处理该文件,因此您无需执行任何操作

如果你想给它一个自定义的名字,你不能在上传之前做,但是你可以在上传之后很容易地做

下面是一个使用

然后在你的路线上

router.post('/upload-file', async function (ctx, next) {
    // file_param is the request parameter name
    let filePath = ctx.request.body.files.file_param.path

    // rename file
    fs.renameSync(filePath , '/path/to/your_new_file');
})

您可能需要使用以下选项:

onFileBegin{Function}文件开始时的特殊回调。该功能由系统直接执行。它可用于在将文件保存到磁盘之前重命名文件

app.use(koaBody({
多部分:正确,
编码:'gzip',
可怕的:{
uploadDir:path.join(uu dirname,'public/upload'),
keepExtensions:是的,
maxFieldsSize:2*1024*1024,
onFileBegin:(名称、文件)=>{
const dir=path.join(uu dirname,`public/upload/}`);
file.path=`${dir}/newPath/newFileName.png`;
},
onError:(err)=>{
控制台日志(err);
}
}
}));
router.post('/upload-file', async function (ctx, next) {
    // file_param is the request parameter name
    let filePath = ctx.request.body.files.file_param.path

    // rename file
    fs.renameSync(filePath , '/path/to/your_new_file');
})