我正在尝试使用Node.js获取目录中存在的所有文件的名称列表.我想要输出是一个文件名数组.我怎样才能做到这一点?
有关使用fs.readdir进行异步目录搜索的任何想法吗?我意识到我们可以引入递归并调用读取目录函数与下一个目录来读取,但有点担心它不是异步...
有任何想法吗?我看过node-walk这很棒,但是不给我一个数组中的文件,比如readdir.虽然
寻找像...的输出
['file1.txt', 'file2.txt', 'dir/file3.txt']
Run Code Online (Sandbox Code Playgroud) index.js
var server = require("./server");
var router = require("./router");
server.start(router.route);
Run Code Online (Sandbox Code Playgroud)
server.js
//Script to start a server
var http = require("http");
var url = require("url");
var fs = require("fs");
function start(route) {
function onRequest(request, response) {
var pathname = url.parse(request.url).pathname;
route(pathname, response, fs);
}
http.createServer(onRequest).listen(8888);
console.log("Server has started.");
}
exports.start = start;
Run Code Online (Sandbox Code Playgroud)
router.js
function route(pathname, response, fs) {
var regex = new RegExp('^/view/?$');
var directpath = "D:/nodejs/file_upload" + pathname;
var voo = fs.readFileSync(directpath);
if(regex.test(pathname)){
response.writeHead(200, {"Content-Type": "text/html"});
console.log("About to route a …Run Code Online (Sandbox Code Playgroud) 我使用开发人员工具包为节点上传图像到AWS S3:
const aws = require('aws-sdk');
const s3Bucket = process.env.S3_BUCKET;
const s3 = new aws.S3({
signatureVersion: 'v4',
region: process.env.S3_REGION,
accessKeyId: process.env.S3_ACCESS_KEY_ID,
secretAccessKey: process.env.S3_SECRET_ACCESS_KEY,
});
const s3Params = {
Bucket: s3Bucket,
Key: filename,
Expires: 60,
ContentType: filetype,
ACL: 'public-read',
};
Run Code Online (Sandbox Code Playgroud)
这有效,但如何将图像上传到存储桶中的特定文件夹?