javascript - 如何获取其他文件夹中的上传图像?表达静态问题
问题描述
我目前有 2 个文件夹,一个包含公用文件夹和服务器文件夹的命名项目。我目前正在使用 post 方法来上传文件(图像)。这些是我的 2 个文件夹路径:
project/router/index.js
和project/client/public/uploads
我用过 app.use(express.static('public')); 所以我project/router
可以访问我的公用文件夹。问题是我真的不知道如何告诉我的函数使用的路径。当我这样做时,
await fs.writeFile(`http://localhost:8080/uploads/${request.files[0].originalname}`, data);
我的路由器使用端口 3000,我的客户端文件夹使用端口 8080。最后我的函数使用了错误的路径:
server\http:\localhost:8080\uploads\IMG_20200813_0006.jpg'
我想改用这个project/client/public/uploads
谢谢
解决方案
await fs.writeFile('http...') 是双重失败:)
如果你想使用 await 你需要使用 promises :
await fs.promises.writeFile()
你不能写到http,它没有任何意义。为此,您应该使用节点的 http 模块或更简单的模块(例如 axios)发出正确的请求。
axios({
method: 'post',
url: '/user/12345',
data: {
firstName: 'Fred',
lastName: 'Flintstone'
}
});
为什么不直接使用呢?
await fs.promises.writeFile(`project/client/public/uploads/${request.files[0].originalname}`, data)
推荐阅读
- jquery - 如何在表格绘制时触发 initComplete?
- php - Docker Compose:从 Dockerfile 在 php.ini 中设置变量
- node.js - 构建 Node.js 和 Socket.io 应用程序的最佳实践?
- mpdf - mPDF 分页条件
- spring - Spring Boot 微服务 Maven 架构
- c++ - 如何使用赋值运算符声明函数?
- java - 如何在不影响活跃用户的情况下测试您的应用?
- r - 如何从 tidyverse 中的线性回归计算几个斜率
- airflow - Airflow Dag 未按计划的时间间隔运行
- java - 构建输出文件“buildConfig.java”在 Android Studio 中有 null 布尔错误