之前下载的图片可能是错的 (服务器忙), 现在重新下载!

This commit is contained in:
life
2016-04-16 16:57:26 +08:00
parent 30394e4149
commit 72059d8fb3
6 changed files with 52 additions and 19 deletions

26
node_modules/api.js generated vendored
View File

@@ -228,13 +228,21 @@ var Api = {
getImage: function(fileId, callback) { getImage: function(fileId, callback) {
var me = this; var me = this;
var url = me.getUrl('file/getImage', {fileId: fileId}); var url = me.getUrl('file/getImage', {fileId: fileId});
log(url);
// console.log('getImage');
// console.log(url);
needle.get(url, function(err, resp) { needle.get(url, function(err, resp) {
me.checkError(err, resp); me.checkError(err, resp);
if(err) { if(err) {
return callback && callback(false); return callback && callback(false);
} }
// log(resp.body); else if (resp.statusCode != 200) {
console.log(fileId + ' 图片返回状态错误: ' + resp.statusCode);
return callback && callback(false);
}
// log(resp);
/* /*
{ 'accept-ranges': 'bytes', { 'accept-ranges': 'bytes',
'content-disposition': 'inline; filename="logo.png"', 'content-disposition': 'inline; filename="logo.png"',
@@ -243,10 +251,14 @@ var Api = {
date: 'Mon, 19 Jan 2015 15:01:47 GMT', date: 'Mon, 19 Jan 2015 15:01:47 GMT',
*/ */
// log(resp.headers); // log(resp.headers);
if(err) { else {
callback(false); var typeStr = ('' + resp.headers['content-type']).toLowerCase();
} else {
var typeStr = resp.headers['content-type']; if (typeStr.indexOf('image') < 0) {
console.log(fileId + ' 不是图片');
return callback && callback(false);
}
var type = 'png'; var type = 'png';
if(typeStr) { if(typeStr) {
var typeArr = typeStr.split('/'); var typeArr = typeStr.split('/');
@@ -258,13 +270,13 @@ var Api = {
var filename = Common.uuid() + '.' + type; var filename = Common.uuid() + '.' + type;
var imagePath = User.getCurUserImagesPath(); var imagePath = User.getCurUserImagesPath();
var imagePathAll = imagePath + '/' + filename; var imagePathAll = imagePath + '/' + filename;
log(imagePathAll);
fs.writeFile(imagePathAll, resp.body, function(err) { fs.writeFile(imagePathAll, resp.body, function(err) {
if(err) { if(err) {
log(err); log(err);
log('local save image failed 本地保存失败'); log('local save image failed 本地保存失败');
callback(false); callback(false);
} else { } else {
console.log('main save image success');
callback(imagePathAll, filename); callback(imagePathAll, filename);
} }
}); });

18
node_modules/api_main.js generated vendored
View File

@@ -41,12 +41,20 @@ var Api = {
getImage: function(fileId, callback) { getImage: function(fileId, callback) {
var me = this; var me = this;
var url = me.getUrl('file/getImage', {fileId: fileId}); var url = me.getUrl('file/getImage', {fileId: fileId});
// console.log('getImage');
// console.log(url);
needle.get(url, function(err, resp) { needle.get(url, function(err, resp) {
me.checkError(err, resp); me.checkError(err, resp);
if(err) { if(err) {
return callback && callback(false); return callback && callback(false);
} }
// log(resp.body); else if (resp.statusCode != 200) {
console.log(fileId + ' 图片返回状态错误: ' + resp.statusCode + ' ' + url);
return callback && callback(false);
}
// log(resp);
/* /*
{ 'accept-ranges': 'bytes', { 'accept-ranges': 'bytes',
'content-disposition': 'inline; filename="logo.png"', 'content-disposition': 'inline; filename="logo.png"',
@@ -56,7 +64,13 @@ var Api = {
*/ */
// log(resp.headers); // log(resp.headers);
else { else {
var typeStr = resp.headers['content-type']; var typeStr = ('' + resp.headers['content-type']).toLowerCase();
if (typeStr.indexOf('image') < 0) {
console.log(fileId + ' 不是图片 ' + typeStr + ' ' + url);
return callback && callback(false);
}
var type = 'png'; var type = 'png';
if(typeStr) { if(typeStr) {
var typeArr = typeStr.split('/'); var typeArr = typeStr.split('/');

4
node_modules/file.js generated vendored
View File

@@ -532,7 +532,7 @@ var File = {
} else { } else {
// 远程取不到图片, 是没有网络? 还是远程真的没有了 // 远程取不到图片, 是没有网络? 还是远程真的没有了
// TODO // TODO
// console.log("cann't get server's image" + fileId); console.log("cann't get server's image" + fileId);
callback(false); callback(false);
// return me.e404(res); // return me.e404(res);
} }
@@ -548,7 +548,7 @@ var File = {
if(has && fileLocalPath) { if(has && fileLocalPath) {
fs.exists(fileLocalPath, function(exists) { fs.exists(fileLocalPath, function(exists) {
if(exists) { if(exists) {
// console.log('本地存在'); // console.log('本地存在 ' + fileId);
callback(fileLocalPath); callback(fileLocalPath);
// me.retImage(fileLocalPath, res); // me.retImage(fileLocalPath, res);
} else { } else {

10
node_modules/file_main.js generated vendored
View File

@@ -109,9 +109,15 @@ var File = {
if(has && fileLocalPath) { if(has && fileLocalPath) {
fs.exists(fileLocalPath, function(exists) { fs.exists(fileLocalPath, function(exists) {
if(exists) { if(exists) {
// console.log('本地存在'); if (fileLocalPath.indexOf('; charset=utf-8') < 0) {
// console.log('本地存在 ' + fileId);
callback(fileLocalPath); callback(fileLocalPath);
// me.retImage(fileLocalPath, res); }
else {
// 存在, 但之前存错了
console.log('存在, 但之前存错了 ' + fileId);
getImageFromApi();
}
} else { } else {
getImageFromApi(); getImageFromApi();
} }

4
node_modules/leanote_protocol.js generated vendored
View File

@@ -17,12 +17,14 @@ var leanoteProtocol = {
var ret = /fileId=([a-zA-Z0-9]{24})/.exec(url); var ret = /fileId=([a-zA-Z0-9]{24})/.exec(url);
if (ret && ret[1]) { if (ret && ret[1]) {
var fileId = ret[1]; var fileId = ret[1];
// console.log(fileId); // console.log('imageId: ' + fileId);
File.getImage(ret[1], function(fileLocalPath) { File.getImage(ret[1], function(fileLocalPath) {
if(fileLocalPath) { if(fileLocalPath) {
// console.log(fileId + ' : ' + fileLocalPath);
callback({path: fileLocalPath}); callback({path: fileLocalPath});
} else { } else {
console.log('取不到图片: ' + fileId);
callback(); callback();
} }
}); });

View File

@@ -1,8 +1,7 @@
var needle = require('needle'); var needle = require('needle');
var url = 'http://i7.baidu.com/it/u=401605395,2928249378&fm=96&s=5DAEA85217785B88557C00640300B062'; var url = 'http://leanote.com/api/file/getImage?fileId=56fe6b53ab64415150001dee';
url = 'http://i7.baidu.com/it/u=401605395,2928249378&fm=96&s=5DAEA85217785B88557C00640300B062';
// url = 'http://leanote.com/images/logo.png'; // url = 'http://leanote.com/images/logo.png';
needle.get(url, function(err, resp) { needle.get(url, function(err, resp) {
console.log(resp.statusCode); console.log(resp.statusCode);
console.log(typeof resp.body); console.log(resp.body);
}); });