待测, api发送files

This commit is contained in:
life
2015-01-28 10:56:36 +08:00
parent 256ebb6363
commit 261e5f5a45

80
node_modules/api.js generated vendored
View File

@@ -1,4 +1,5 @@
var db = require('db');
var async = require('async');
var User = require('user');
var Note = require('note');
var Notebook = require('notebook');
@@ -353,24 +354,79 @@ var Api = {
notebookId: serverNotebookId,
content: note.Content,
isMarkdown: note.isMarkdown,
Tags: note.Tags,
IsBlog: note.IsBlog
tags: note.Tags,
isBlog: note.IsBlog,
}
log('add note');
log(data);
needle.post(me.getUrl('note/addNote'), data, {}, function(err, resp) {
if(err) {
return callback(false);
// files处理
var files = note.Files;
var needTransferFiles = [];
var needPostFilesAttr = [];
async.eachSeries(files, function(file, cb) {
var file = files[i];
var needFile = {
fileId: file.ServerFileId,
localFileId: file.FileId,
hasBody: false
}
var ret = resp.body;
log('add note ret');
log(ret);
if(Common.isOk(ret)) {
callback(ret);
// 要传数据的
if(file.IsDirty) {
ifs.exists(file.Path, function(isExists) {
needTransferFiles[file.ServerFileId] = {
file: file.Path,
content_type: 'image/' + file.Type
}
needFile.hasBody = true;
needPostFilesAttr.push(needFile);
return cb();
});
} else {
callback(false);
needPostFilesAttr.push(needFile);
return cb();
}
});
}, function() {
data.files = needPostFilesAttr;
var needMultiple = false;
for(var i in needTransferFiles) {
needMultiple = true;
data[i] = needTransferFiles[i];
}
// 最终传递的数据
console.log('end transfer data');
console.log(data);
needle.post(me.getUrl('note/addNote'), data, {multipart: needMultiple}, function(err, resp) {
if(err) {
return callback(false);
}
var ret = resp.body;
log('add note ret');
log(ret);
if(Common.isOk(ret)) {
callback(ret);
} else {
callback(false);
}
});
});
/*
var data = {
foo: 'bar',
cc: [1,2,3,3],
dd: {name: 'life', age: 18},
image: { file: '/Users/life/Desktop/imageplus.png', content_type: 'image/png' }
}
needle.post('http://localhost/phpinfo.php', data, { multipart: true }, function(err, resp, body) {
// needle will read the file and include it in the form-data as binary
console.log(resp.body);
});
*/
});
},
// 更新