express搭建的服务器,如何在浏览器上直接拼接url访问图片这样的静态资源

大概使用serve-static,自己用错了应该,怎么都达不到效果,大致是怎样的思路,
var constants = require('./constants/event');
var utils = require('util');
var path = require('path')
var fs = require('fs')
var querystring = require('querystring');
var formidable = require('formidable')
var bodyParser = require('body-parser');
var express = require('express')();
var app = require('http').createServer(express);
var io = require('socket.io').listen(app);
var url = require('url');
var User = require('./model/user');
var _ = require('underscore');
var mongoose = require('mongoose');
var port = 3030;

mongoose.connect("mongodb://localhost/imchat");

express.use(bodyParser.json())
express.use(bodyParser.urlencoded({extended:true}))
express.use(require('express').static(path.join(__dirname,"upload")))

这么写的,图片放在upload文件夹下了,整个工程结构很简单图片描述
主要的代码就这么多,后面的都是一些路由映射处理,不知道问题出在哪额

阅读 4.9k
2 个回答

可能是静态目录的地址出现了问题
Example: running node example.js from /Users/mjr

console.log(__dirname);
// /Users/mjr

试着改成这样看看行不行,

express.use(require('express').static(path.join(__dirname,"/upload")))

我这里有一个关于照片上传的项目源码(不过express版本是3.x的,可能代码语法上有点出入,表达的意思都是一样的),想要的话,把邮箱给我,我发给你,你自己看看

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题