关于node 服务端 来实现图片预览的效果的问题(已解决) - CNode技术社区

关于node 服务端 来实现图片预览的效果的问题(已解决)
发布于 11 年前 作者 hc2014 5300 次浏览 最后一次编辑是 9 年前 来自 问答

QQ截图20150120103405.jpg 这个图是我获取到图片的信息的,现在想就这个信息,转成图片 然后输出到页面,不知道能否实现,前辈们,知道怎么搞的给了例子呗!

6 回复

想先請問這個圖片訊息是怎麼取得的?

@chinghanho smb2这个模块

@hc2014 可以給點 code 看嗎?

@chinghanho 不知道你想要什么代码,你在github上找到node-smb2这个模块,基本都有例子代码了,读取文件夹内的文件用 readdir 这个函数,原本 这个函数只会返回 filename即 只会返回文件的名称, 你在/api/readdir 这个JS里面找到

module.exports = function(path, cb){
 var connection = this;
 // SMB2 open directory
 SMB2Request('open', {path:path}, connection, function(err, file){
 if(err) cb && cb(err);
 // SMB2 query directory
 else SMB2Request('query_directory', file, connection, function(err, files){
 if(err) cb && cb(err);
 // SMB2 close directory
 else SMB2Request('close', file, connection, function(err){
 cb && cb(
 null
 , files
 .map(function(v){ return v.Filename }) // get the filename only
 .filter(function(v){ return v!='.' && v!='..' }) // remove '.' and '..' values
 );
 });
 });
 });

这一块代码,把 return v.Filename 改成 return v就行了

node-smb2 既有 readdir 也有 readFile,讀出檔案後就可以做寫入了:

smb2Client.readFile(source_path, function(err, data){
 if (err) throw err
 fs.writeFile(save_path, data, function(err) {
 if (err) return // handle err
 console.log('completed!')
 })
})

@chinghanho 是的,已经解决了

回到顶部

AltStyle によって変換されたページ (->オリジナル) /