首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图像水印,nodejs显示错误

图像水印,nodejs显示错误
EN

Stack Overflow用户
提问于 2017-09-14 04:18:06
回答 1查看 1K关注 0票数 3

我试图在图像上添加水印,使用图像水印,nodejs.

代码语言:javascript
复制
const express = require('express')    
const app = express();    
var path = require('path');    
var watermark = require('image-watermark');       
app.use(express.static(path.join(__dirname, 'public')));

var options = {
    'text' : 'sample watermark', 
    'resize' : '200%'
};

app.get('/', function (req, res) {
    var fs = require('fs');
    if (fs.existsSync('./public/files/pg363.jpg')) {
        // Do something
        watermark.embedWatermark('./public/files/pg363.jpg', options);
        res.send('Hello world');
    }else{
        res.json({"filesexist":"no"});
    }

});


app.listen(3000,function(){
    console.log('App running on server 3000');
})

这让我犯了错误:

代码语言:javascript
复制
    events.js:163
      throw er; // Unhandled 'error' event
      ^

Error: spawn identify ENOENT
    at exports._errnoException (util.js:1050:11)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
    at onErrorNT (internal/child_process.js:367:16)
    at _combinedTickCallback (internal/process/next_tick.js:80:11)
    at process._tickCallback (internal/process/next_tick.js:104:9)

此错误是否与filepath相关。我的目录结构是pdf-水印(主目录)-> public-> -> pg363.jpg

请帮帮忙。

EN

回答 1

Stack Overflow用户

发布于 2017-09-14 09:54:46

ENOENT意味着节点由于某些原因无法打开文件,这可能是由一些原因引起的。

首先,应该使用path.resolve__dirname指定图像文件的完整路径。

代码语言:javascript
复制
const imagePath = path.resolve(__dirname, 'public/files/pg363.jpg');
if (fs.existsSync(imagePath)) {
    watermark.embedWatermark(imagePath, options);
    // ...
}

其次,还应确保节点以具有适当读写权限的用户身份运行,以更新图像文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46210448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档