Dropzone(带铁丝网)
如果我们想要更精细的东西,使用集成的 Dropzone UI 和 REST 端点,我们将需要开始添加带有 UI 助手的自定义 REST 路由和包。
让我们从导入 Iron Router 和 Dropzone 开始。
meteor add iron:router
meteor add awatson1978:dropzone
并配置 dropzone 助手中指定的 uploads url route。
Router.map(function () {
this.route('uploads', {
where: 'server',
action: function () {
var fs = Npm.require('fs');
var path = Npm.require('path');
var self = this;
ROOT_APP_PATH = fs.realpathSync('.');
// dropzone.js stores the uploaded file in the /tmp directory, which we access
fs.readFile(self.request.files.file.path, function (err, data) {
// and then write the file to the uploads directory
fs.writeFile(ROOT_APP_PATH + "/assets/app/uploads/" +self.request.files.file.name, data, 'binary', function (error, result) {
if(error){
console.error(error);
}
if(result){
console.log('Success! ', result);
}
});
});
}
});
});
凉! 我们有一个带有时髦 UI 和可编程 REST 端点的文件上传器。不幸的是,这并不是特别好。