/**
|
* Created by yang on 2015/8/24.
|
*/
|
var fs = require('fs');
|
var FdfsClient = require('../index.js');
|
|
var fdfs = new FdfsClient({
|
trackers: [
|
{
|
host: '192.168.0.23',
|
port: 22122
|
},
|
//{
|
// host: '192.168.0.12',
|
// port: 22122
|
//}
|
],
|
timeout: 10000,
|
defaultExt: '',
|
charset: 'utf8'
|
});
|
|
describe('test fdfs', function() {
|
it('upload', function(done) {
|
this.timeout(0);
|
fdfs.upload('d:/test.jpg').then(function(fileId) {
|
console.log('fileId:', fileId);
|
done();
|
}).catch(done);
|
});
|
|
it('buffer upload', function(done) {
|
this.timeout(0);
|
|
var file = 'd:/test.jpg';
|
var buf = fs.readFileSync(file);
|
var opts = {
|
ext: 'jpg'
|
};
|
fdfs.upload(buf, opts).then(function(fileId) {
|
console.log('fileId:', fileId);
|
done();
|
}).catch(done);
|
});
|
|
it('stream upload', function(done) {
|
this.timeout(0);
|
|
var file = 'd:/test.jpg';
|
var stream = fs.createReadStream(file);
|
var opts = {
|
size: fs.statSync(file).size,
|
ext: 'jpg'
|
};
|
|
fdfs.upload(stream, opts).then(function(fileId) {
|
console.log('fileId:', fileId);
|
done();
|
}).catch(done);
|
});
|
|
it('getFileInfo', function(done) {
|
var fileId = 'group1/M00/00/09/wKgAeFbZnLGAULR6AAPm5H9JxDA474.jpg';
|
fdfs.getFileInfo(fileId).then(function(fileInfo) {
|
console.log('fileInfo:', fileInfo);
|
done();
|
}).catch(done);
|
});
|
|
it('setMetaData', function(done) {
|
var fileId = 'group1/M00/00/09/wKgAeFbZnLGAULR6AAPm5H9JxDA474.jpg';
|
var meta = {
|
fileName : 'test.jpg',
|
fileId: 1234
|
};
|
fdfs.setMetaData(fileId, meta, 'M').then(function() {
|
console.log('setMetaData ok');
|
done();
|
}).catch(done);
|
});
|
|
it('getMetaData', function(done) {
|
var fileId = 'group1/M00/00/09/wKgAeFbZnLGAULR6AAPm5H9JxDA474.jpg';
|
fdfs.getMetaData(fileId).then(function(meta) {
|
console.log('meta:', meta);
|
done();
|
}).catch(done);
|
});
|
|
it('del', function(done) {
|
var fileId = 'group1/M00/00/09/wKgAeFbafYKAIzUHAAPm5H9JxDA147.jpg';
|
fdfs.del(fileId).then(function() {
|
console.log('del ok');
|
done();
|
}).catch(done);
|
});
|
|
it('download', function(done) {
|
// TODO
|
this.timeout(0);
|
var fileId = 'group1/M00/00/09/wKgAeFbZnLGAULR6AAPm5H9JxDA474.jpg';
|
var file = 'd:/temp.jpg';
|
fdfs.download(fileId, file).then(function() {
|
console.log('download ok');
|
done();
|
}).catch(done);
|
});
|
|
it('test uploadAppenderFile', function(done) {
|
this.timeout(0);
|
var buff = fs.readFileSync('d:/test.jpg');
|
var b1 = buff.slice(0, 10240);
|
var b2 = buff.slice(10240);
|
console.log('buff', buff.length, ', b1:', b1.length, ', b2:', b2.length);
|
|
fdfs.upload(b1, {method: 'uploadAppender', ext: 'jpg'}).then(function(fileId) {
|
console.log('fileId:', fileId);
|
return fdfs.upload(b2, {method: 'append', fileId: fileId});
|
}).then(function(r) {
|
console.log('append:', r);
|
done();
|
}).catch(done);
|
});
|
|
it('test modifyFile', function(done) {
|
this.timeout(0);
|
var buff = fs.readFileSync('d:/test.jpg');
|
var b1 = buff.slice(0, 10240);
|
var b2 = buff.slice(10240);
|
console.log('buff', buff.length, ', b1:', b1.length, ', b2:', b2.length);
|
fdfs.upload(b1, {method: 'uploadAppender', ext: 'jpg'}).then(function(fileId) {
|
console.log('fileId:', fileId);
|
return fdfs.upload(b2, {method: 'modify', fileId: fileId, offset: b1.length});
|
}).then(function(r) {
|
console.log('modify:', r);
|
done();
|
}).catch(done);
|
});
|
|
it('listGroups', function(done) {
|
this.timeout(0);
|
fdfs.listGroups().then(function(res) {
|
console.log(res);
|
done();
|
}).catch(done);
|
});
|
|
it.only('listStorages', function(done) {
|
this.timeout(0);
|
fdfs.listStorages('group1').then(function(res) {
|
console.log(res);
|
done();
|
}).catch(done);
|
});
|
});
|