S3 etkileşimim için Autoform ve Slingshot kullanıyorum. Kullanıcı formu gönderdiğinde, işlemi durdurmak, dosyayı S3'ten Slingshot'a yüklemek, nesnesini döndürülen downloadUrl
ile genişletmek ve sonra bu noktada, yeni güncelleştirilmiş belgeyi döndürmek ve otomatik biçimlendirme işleminiMeteor autoform, kancadan önce async geri arama
aşağıdaki kod var: belge üzerinde, ancak S3 sunucusuna
yüklemek için başarısız: doğru url depolayan
{{#autoForm collection="Tabs" id="newTabForm" type="method" meteormethod="createTab"}}
...
<div class="modal-body">
<fieldset>
{{> afFormGroup name='downloadUrl' type='file' class='file-bag'}}
...
AutoForm.hooks({
newTabForm: {
before: {
insert: function(doc, template) {
console.log(doc);
var file = $('.file-bag')[0].files[0];
var self = this;
uploader.send(file, function(error, downloadUrl) {
if (error) { throw new Meteor.Error(error); }
doc = _.extend(doc, { downloadUrl: downloadUrl });
self.result(doc);
});
}
},
....
Meteor.methods({
createTab: function(doc) {
check(doc, TabSchema);
var priceInCents = doc.price * 100;
var extraTabAttributes = {
userId: Meteor.userId(),
price: priceInCents
};
_.extend(doc, extraTabAttributes);
Tabs.insert(doc, function(error, result) {
if (error) { return error; }
});
}
(.. // fakepath/dosya adı ancak garip, C görünüyor) Ayrıca yan soru, neden önceki hooks içinde console.log(doc);
neden anythin müşteri/sunucuya g?
ile değiştirilmesi durumunda, sizin durumunuzda Yani
söyledi? Sapan ile otoformu kullanmak için bir çözüm arıyordum. Henüz çok uzağa gitmedim. –