如下图,按理来说路径应该是正确的呀,本机地址下直接找upload或avatar目录下存储的图片,应该是访问 http://127.0.0.1:3006/upload/%E2%80%A6%E2%80%A6 地址吧,但是报404找不到资源,两个文件夹下的二进制图片资源都获取不到。
并且如果直接访问http://127.0.0.1:3006/avatar,也是404。
而且两个图片的文件夹都通过app.use('/avatar',express.static('./avatar'))静态托管了。
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

nodeJS客户端获取服务器下的图片文件夹目录报404
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除
- 收藏 举报
1条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
未来在这儿 2023-01-27 03:42关注express.static()
为了提供对静态资源文件(图片、csss文件、javascript文件)的服务,请使用Express内置的中间函数 express.static 。
传递一个包含静态资源的目录给 express.static 中间件用于立刻开始提供文件。比如用以下代码来提供public目录下的图片、css文件和javascript文件:
app.use(express.static('public'));
express 会在静态资源目录下查找文件,所以不需要把静态目录public作为url的一部分。现在,你可以加载 public目录下的文件了:
http://localhost:3000/hello.html
http://localhost:3000/images/1.jpg
http://localhost:3000/css/style.css
http://localhost:3000/js/index.js
可以多次使用 express.static 中间件来添加多个静态资源目录,这时express 将会按照你设置静态资源目录的顺序来查找静态资源文件:
app.use(express.static('public'));
app.use(express.static('files'));
为了给静态资源文件创建一个虚拟的文件前缀(实际上文件系统中并不存在) ,可以使用 express.static 函数指定一个虚拟的静态目录,就像下面这样:
app.use('/static', express.static('public'));
现在你可以使用 /static 作为前缀来加载 public 文件夹下的文件了:
http://localhost:3000/static/hello.html
http://localhost:3000/static/images/1.jpg
http://localhost:3000/static/css/style.css
http://localhost:3000/static/js/index.js
然而,你提供给 express.static 函数的路径是一个相对node进程启动位置的相对路径。如果你在其他的文件夹中启动express app,更稳妥的方式是使用静态资源文件夹的绝对路径:
app.use('/static', express.static(__dirname + '/public'));本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 1无用举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容

- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
- 2019-02-26 18:15回答 1 已采纳 So the issue was that the certificate couldn't hold IP address as the hostname. It should have a n
- 2022-07-09 09:27回答 1 已采纳 首先问题不明确也没有代码,我默认你是用fs写的 fs.readFile('xxx.txt', "utf-8", () => {}); 读不出来的原因是utf8是文本的编码格式,你拿他来读取图片
- 2022-05-02 07:53回答 2 已采纳 对与post请求,node需要解析json格式 express老版本需要安装 body-parser // 解析post body const bodypraser = require('body-
- 2024-04-22 02:39为了能够在项目中使用Node.js驱动,首先需要将`node_modules`文件夹放置于项目的根目录下。这一步骤确保了Node.js驱动能够被正确地识别并加载。具体步骤如下: 1. **下载Node.js驱动**:首先需要从官方渠道或指定...
- 2023-01-31 07:18回答 1 已采纳 你这是根本不懂什么叫监听监听是要监听客户端连接,不是监听服务端比如你服务端写监听80端口,那么有客户端去连接你的80端口,你的程序就会有响应而如果你不监听80端口,有客户端连接80端口,就会被拒绝所以
- 2022-06-04 07:42回答 1 已采纳 确认一下服务器防火墙是否开放了这个端口,不开放无法进行访问
- 2022-08-21 13:23回答 1 已采纳 .js文件,第三行" /",这个引号里如果有空格的话把空格去掉,只留下/
- 2020-10-16 01:58Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它允许开发者使用JavaScript进行服务器端编程。通过Node.js,我们可以快速地搭建一个能读取和发送服务器上文件的服务器。 首先,我们需要安装必要的依赖。在...
- 2013-02-18 01:39回答 2 已采纳 I think this is what you're looking for. Quick example using your server code: var WebSocketClien
- 2022-01-20 00:59回答 3 已采纳 nodejs连接数据库有什么意义?nodejs可以看作后台语言,用来写后台代码,你这话问的就跟主流的java连接数据库有什么意义一样,浏览器环境里面的js是用来控制前端页面的,nodejs用来编写存储
- 2022-02-08 02:52回答 2 已采纳 前面的:推荐使用宝塔面板进行部署 服务器下载宝塔 根据bt default获取宝塔面板的默认站点 进入宝塔面板下载pm2、mysql、nginx等环境新建mysql数据库新建站点 关联mysql数据库
- 2021-07-05 00:13"JavaScript" 标签明确了 simpleserver-nodejs 的编程语言基础。Node.js 使用 JavaScript 作为主要编程语言,这使得开发者可以利用同一门语言处理前端和后端的问题,提高了开发效率。 **文件名称列表解析:** ...
- 2021-05-12 01:22"Nodejs-Primary-Backend" 存储库显然是一个专为初学者设计的 Node.js 后端项目,旨在帮助用户快速掌握构建 RESTful API 服务器的基础知识。 1. **RESTful API**:REST(Representational State Transfer)是一种...
- 2021-05-30 01:12"cd到repo目录"指的是进入项目文件夹,"启动"可能是指运行一个特定的启动脚本(如`npm start`),这会启动Node.js服务器并准备接收连接。 2015年6月15日的更新说明,表明这个项目至少在那个时候进行了维护和更新,...
- 2021-05-21 21:23【ChalmFoodServer:NodeJS服务器为Chrome扩展和Sublime插件提供支持】 ChalmFoodServer是一个基于Node.js的轻量级服务器,专为Chrome浏览器的扩展程序和Sublime Text编辑器的插件开发设计。这个项目的核心目标是...
- 没有解决我的问题, 去提问
问题事件
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司