私の隕石アプリでは、サーバーはファイルをダウンロードしてファイルシステムに保存しようとします。そのために Meteor.http パッケージを使用していますが、実際には、ファイルをダウンロードすると破損しているようです。
var fileUrl = 'http://cdn.sstatic.net/stackoverflow/img/sprites.png?v=5'; //for example
Meteor.http.call("GET", fileUrl, function funcStoreFile(error, result) {
"use strict";
if (!error) {
var fstream = Npm.require('fs'),
filename = './.meteor/public/storage/' + collectionId;
fstream.writeFile(filename, result.content, function funcStoreFileWriteFS(err) {
if (!err) {
var Fiber = Npm.require('fibers');
Fiber(function funcStoreImageSaveDb() {
MyfileCollection.update({_id: collectionId}, {$set: {fileFsPath: filename}});
}).run();
} else {
console.log('error during writing file', err);
}
});
} else {
console.log('dl file FAIL');
}
});
public/storage から ../.meteor/public/storage へのシンボリックリンクを作成して、URL ( http://localhost:3000/storage/myfileId )から直接ダウンロードできるようにしました。
このシステムでダウンロードしたファイルと、ブラウザから直接ダウンロードした同じファイルを比較すると、それらは異なります。私の概念の何が問題になっていますか?