我正在尝试让 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,请不要告诉我使用其他服务器
thanks
Joe
这对我有用(假设您有响应对象):
var fs = require("fs");
var image = fs.open("image.png", "rb");
var data = image.read();
image.close();
response.setHeader("Content-Type", "image/png");
response.setEncoding("binary");
response.write(data);
response.close();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)