【发布时间】:2015-08-11 15:03:12
【问题描述】:
我有一个名为 style 的项目,它有 2 个属性,一个具有原始 css 文本,另一个具有 S3File。
Style.add({
...
css: { type: Types.Code, language: 'css' },
cssFile: {
type: Types.S3File,
s3path: 'uploads/assets',
},
...
});
我想用 css 文本的内容更新S3File。
function uploadCSStoAmazon(style) {
// Store css code in temporal file (with a md5 name)
var rndm = crypto.randomBytes(20).toString('hex'), file_path = '/tmp/css_temp_' + rndm + '.css';
fs.writeFile(file_path, style.css, function(err) {
if(err) {
return console.log(err);
}
console.log("The file was saved!");
// style.cssFile = new Types.S3File();
// TODO upload file to amazon
style.cssFile._.uploadFile(file_path, true, function(err, fileData){
// TODO erase css file
});
});
}
...
var aStyle = new Style.model({
...
css: 'Some css string',
...
});
...
uploadCSStoAmazon(aStyle);
cssFile 属性是未定义的,我明白,但是我如何创建一个新文件并将其分配给该属性,并上传文件?
【问题讨论】:
-
你如何/在哪里打电话给
uploadCSStoAmazon()? -
我刚刚编辑了问题以显示我将如何调用该函数。
标签: node.js express amazon-s3 keystonejs