2016-04-11 38 views
0

我已經安裝了收集fs包來處理我的圖像上傳,到目前爲止,我還沒有成功上傳單個圖像。簡單的圖像上傳與收集fs

我有這樣的代碼在我的事件

'change .ip': function(event, template) { 
     FS.Utility.eachFile(event, function(file) { 
      var yourFile = new FS.File(file); 
     SchoolImages.insert(yourFile, function (err, fileObj) { 
      if (err){ 
      // handle error 
      alert('error'); 

      } else { 
      // handle success depending what you need to d 
      alert('success'); 
      } 
     }); 
    }); 
    } 

這是我的HTML

<input type="file" class="ip form-control" name="sn_edit" value=""> 

這是我收藏的代碼

SchoolImages = new FS.Collection("SchoolImages", { 
    stores: [new FS.Store.FileSystem("SchoolImages", {path: "~/meteor_uploads"})] 
}); 


if (Meteor.isServer) { 
    SchoolImages.allow({ 
    insert: function (userId, doc) { 
     return false; 
    }, 

    update: function (userId, doc, fieldNames, modifier) { 
     return false; 
    }, 

    remove: function (userId, doc) { 
     return false; 
    } 
    }); 

    SchoolImages.deny({ 
    insert: function (userId, doc) { 
     return true; 
    }, 

    update: function (userId, doc, fieldNames, modifier) { 
     return true; 
    }, 

    remove: function (userId, doc) { 
     return true; 
    } 
    }); 
} 

當我嘗試上傳的圖像,無圖像上傳並且不創建集合。我的代碼給出了錯誤alert('error') - 請參閱上面的代碼。

我應該如何糾正我的代碼成功上傳圖像?

+0

如果您有興趣上傳到'gridfs'我推薦我的文章:http://mrmnmly.net/posts/saving-images-from-api-in-meteor-apps – mrmnmly

+0

@lukaszkups我已閱讀教程但它太複雜了,因爲我從計算機獲取文件而不是來自Api。不過謝謝。 –

回答

0

您不必在Meteor.isServer中允許db操作。您可以按照以下方式直接編寫集合代碼。


SchoolImages = new FS.Collection("SchoolImages", { 
    stores: [new FS.Store.FileSystem("SchoolImages", {path: "~/meteor_uploads"})] 
}); 



SchoolImages.allow({ 
    insert: function (userId, doc) { 
     return true; 
    }, 

    update: function (userId, doc, fieldNames, modifier) { 
     return true; 
    }, 

    remove: function (userId, doc) { 
     return true; 
    } 
    }); 

一般來說,我建議寫,當你組織你的項目在不同的文件夾lib文件夾裏面的代碼。

+0

它奇怪,它放在裏面的鐵克是服務器。我移動了代碼,仍然沒有改變。 –

+0

這對我來說總是有用的,如果你可以在github上分享我最想幫助你的最小代碼。 –

+0

這是我整個代碼的要點https://gist.github.com/openqubit/3fd44a259f500b6e6c30526e637d83ef –