【发布时间】:2016-04-13 16:05:11
【问题描述】:
我正在尝试让 phantomjs 网络服务器为我工作
我想提供 2 个文件,html 文件和一个 png 图像文件,html 文件服务良好并在浏览器中正确呈现,但 png 文件不是
这是服务器的代码
var fs = require('fs');
function loadFile(name){
if(fs.exists(name)){
console.log(name+ " File exist");
return fs.open(name,"r");
}else {
console.log("File do not exist");
}
}
var server, service;
server = require('webserver').create();
service = server.listen(8080, function (request, response) {
if(request.url.split(".")[1] === "html" ){
var fi = loadFile("./test.html");
response.statusCode = 200;
response.write(fi.read());
fi.close();
response.close();
}else if (request.url.split(".")[1] === "png"){
var fi = loadFile("./output_87.png");
response.headers = {"Content-Type":"image/png"};
response.statusCode = 200;
response.write(fi.read());
fi.close();
response.close();
}
});
这是html文件标记
<html>
<head><title>title</title></head>
<body><h1> Hello world </h1>
<img src="output_87.png" alt="image">
</body>
</html>
在浏览器中查看此文件时,未渲染 png 文件,即使我试图将浏览器指向 png 文件,它也不会渲染它
我用 chrome 开发者工具检查了网络状态,并确认文件已被浏览器完全下载
怎么了?
顺便说一句,我必须使用 phantomjs,请不要告诉我使用其他服务器
谢谢
乔
【问题讨论】:
-
我刚刚在 phantomjs 存储库上发送了一个 PR 来解决这个问题 github.com/ariya/phantomjs/pull/288/files(代码可能很糟糕,但它对我有用)
标签: javascript node.js phantomjs