ImC*_*der 23 javascript node.js
我有一个应用程序将csv文件上传到特定的文件夹说上传.现在我想获得该csv文件的完整路径.例如D:\ MyNodeApp\uploads\Test.csv
如何在node.js中获取文件位置?我用multer来上传文件.
提前致谢
小智 77
var path = require("path");
var absolutePath = path.resolve("Relative file path");
Run Code Online (Sandbox Code Playgroud)
你的dir结构例如:
C: - > WebServer->公开 - > Uploads-> MyFile.csv
例如,你的工作目录是Public,path.resolve就是这样.
path.resolve("./Uploads/MyFile.csv");
Run Code Online (Sandbox Code Playgroud)
POSIX home/WebServer/Public/Uploads/MyFile.csv
WINDOWS C:\ WebServer\Public\Uploads\MyFile.csv
这个解决方案是多平台的,允许您的应用程序在Windows和posix机器上工作.
Del*_*man 14
根据所提供的信息,我们可以做的很少,但我会做一些补充:
然后,您可以获得这些文件的完整路径,如下所示:
//index.js
var filename = "myfile.csv"; ///you already have this one.
var fullpath = __dirname + "/uploads/" + filename;
Run Code Online (Sandbox Code Playgroud)
就是这样,通过使用__dirname(参见此处的文档)变量,您可以获得index.js文件的完整路径,然后您可以手动添加其余文件.
M. *_*put 14
const path = require( "path" );
const fs = require( 'fs' );
const log = console.log;
const folder = './';
fs.readdirSync( folder ).forEach( file => {
const extname = path.extname( file );
const filename = path.basename( file, extname );
const absolutePath = path.resolve( folder, file );
log( "File : ", file );
log( "filename : ", filename );
log( "extname : ", extname );
log( "absolutePath : ", absolutePath);
});
Run Code Online (Sandbox Code Playgroud)
假设您正在将 multer 与 express 一起使用,请在您的控制器方法中尝试此操作:
var path = require('path');
//gets your app's root path
var root = path.dirname(require.main.filename)
// joins uploaded file path with root. replace filename with your input field name
var absolutePath = path.join(root,req.files['filename'].path)
Run Code Online (Sandbox Code Playgroud)
在 TypeScript 中,我根据相对文件路径执行了以下操作。
import { resolve } from 'path';
public getValidFileToUpload(): string {
return resolve('src/assets/validFilePath/testFile.csv');
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
58517 次 |
| 最近记录: |