Pergunta

Preciso fazer upload de um arquivo para o meteoro, fazer alguma manipulação de imagem nele (conversão de imagem se necessário, gerar miniatura a partir de image ) e depois armazená-lo em um servidor externo de armazenamento de imagens (s3).Isto deve ser o mais rápido possível.Você tem alguma recomendação para uma biblioteca de processamento de imagens nodejs?também como posso fazer upload de um arquivo para meteorjs?

Obrigado

Foi útil?

Solução

Acabei com a seguinte solução:

1) rota lateral do servidor meteoro para um URL de upload personalizado

__meteor_bootstrap__.app.stack.splice (0, 0, {
    route: '/upload',
    handle: function (req,res, next) {
        //handle upload
    }.future ()
});

2) use o módulo nodejs formidável dentro da função para upload de arquivo

Outras dicas

Solução mais fácil que encontrei é usar o filepicker.io.É extremamente fácil integrar-se no seu aplicativo de meteoro e plugues diretamente para S3.

na minha startup (hausor.com) eu uso https://github.com/collectionfs/meteor-CollectionFs e com plugins adicionais suporta o upload de arquivos da Amazon S3 e a dimensão / corte de imagens.

Eu não acho que Meteor tem qualquer suporte para uploads;Talvez algo seja planejado no futuro.Enquanto isso, eu também (supondo que você possa ler o arquivo com um filereader ou algo):

a) Insira o arquivo no mongo e exclua-o quando ele é salvo no S3

b) Salve-o até o S3 do cliente (não tenho certeza se há uma maneira "segura" de fazer isso .. ou seja, sem dar suas credenciais, mas pode valer a pena explorar).

c) [se você não puder usar um filereader], use um iframe ou algo para postar em um servidor externo, você pode controlar que você manipula uploads e, em seguida, comunicar com ele no servidor de meteoros.

Por favor, verifique uma das minhas respostas aqui: Upload e download de arquivos usando meteoro

Estou usando o busboy para upload de arquivos e apenas uso fs = Npm.require("fs") para gravação de arquivo:Basta colocar isso dentro do busboy:, o save to é o caminho onde você fez o upload, simples como APACHE ou hospedagem de arquivos e usar outra porta nele.

file.pipe(fs.createWriteStream(saveTo))

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top