nodejs 能否读取网络共享的文件?(已解决)
发布于 6 年前 作者 hc2014 6646 次浏览 最后一次编辑是 4 年前 来自 问答

RT: 如果可以,给个例子看看~先谢过

19 回复

无所不能的Nodejs,前辈们,请给个例子

还没搞定,继续顶

什么网络共享?能具体说说吗?

@frosh 就是局域网共享其中一台电脑共享的文件夹 比如说 某一台电脑的ip是 192.168.7.132 共享的test/1.jpg 那我就是想 获取到\192.168.7.132\test\1.jpg

用express写个静态资源服务器呗

@jintaolee app.use(express.static(‘file:\192.168.7.132’)); 和app.use(express.static(‘http:\192.168.7.132’)); 都读不到,能给个例子么?

var staticfile=[‘public’,‘up’]; for( var i=0;i<staticfile.length;i++){ app.use(express.static(path.join(__dirname, staticfile[i]))); } 我把静态文件存储路径放在public和up两个文件下 ,我在public下有个图片1.png,那么我启动express后本机127.0.0.1:3000/1.png就能读到图片, 我本机ip172.0.2.38,那么我换台机子只要访问172.0.2.38:3000/1.png就能访问到,但是必须把3000端口对外,或者直接关闭防火墙吧

@jintaolee 额,我懂你的意思了,原来你讲的是 在目标电脑上搭载一个图片服务器,但是我这里目前还不能确定有这样的条件去 搭载一个服务器。领导就说只是局域网中一台电脑共享文件而已。大家都去读取这个问题,读(上传)完以后就删除掉这个文件。 现在的问题就是Node服务端如何去获取到共享文件夹 然后做删除操作。

@hc2014 我去,windows不就支持把这个文件设置成共享文件吗

@jintaolee 人为各种操作当然没问题,但是程序读不到啊

@hc2014 你这个文件到底是上传目录还是下载目录啊,我明确告诉你 nodejs是可以操作文件的 也就是你说的对文件删除是可以的

@jintaolee 我知道node是可以操作文件的,但是之前都是在同一台电脑上的,你试过去删除局域网上共享文件夹里面的文件么? 我现在就是想做这种事。 再来简单的说说我的需求, 192.168.7.132这个电脑上共享了一个文件夹叫test, 然后我去访问这个共享文件夹 把里面的某个文件,例如 叫a.jpg 上传到服务器,这一步已经做到了。 然后我接下来想做的就是想删除这个a.jpg

@hc2014 你在上传完a.jpg函数回调函数里删除这个文件不就行了吗

@jintaolee 不知道是我描述的有问题,还是你把问题想的太简单了。图片上传以后获取到的图片路径不是原始路径 打个比方来说, 192.168.7.132/test/a.jpg 这个图片上传以后 获取到的图片路径是/public/upload/a.jpg。这个上传的操作 用到了一个connect-multiparty 的模块来完成的。引用这个模块的原因是修改系统默认的上传路径,不然win7系统会报没有权限的错误 而在ubuntu系统上也会报req.files为undefined的错)。我猜想这个模块的底层赢有解决我问题的方案,但是呢?它嵌套太多,我都没找到核心代码在哪,就算找了我也看不懂!

smb协议 有专门的 模块 .去试试吧.

可以直接使用download,npm install download

@chrome1008 搞定~用的是smb2这个模块

@hc2014 有个同样的需求,能说一下nodejs怎么用smb2吗?

回到顶部