Nodejs Stdout Opcoes Binarias




Nodejs Stdout Opções BináriasAo tentar ler dados em Node. js de um processo filho ImageMagick, ele sai corrompido. Um caso de teste simples seria o seguinte: Espero que seja o equivalente a linha de comando converter ./test. jpg - gt test2.jpg que nao escrever o arquivo binario corretamente. Originalmente havia um problema com a opcao maxBuffer sendo muito pequena e resultando em um arquivo truncado. Depois de aumentar isso, o arquivo agora aparece um pouco maior do que o esperado e ainda corrompido. Os dados do stdout sao necessarios para enviar sobre HTTP. Qual seria a maneira correta de ler esses dados a partir do ImageMagick stdout perguntado May 28 11 at 20:09 Se timeout for maior que 0, em seguida, ele ira matar o processo filho se ele executa mais de tempo limite milissegundos. O processo filho e morto com killSignal (padrao: SIGTERM). MaxBuffer especifica a maior quantidade de dados permitida em stdout ou stderr - se esse valor for excedido, o processo filho sera morto. Portanto, se sua imagem estiver acima do tamanho do buffer padrao de 2001024 bytes, sua imagem sera corrompida como mencionado. Eu era capaz de faze-lo funcionar com o seguinte codigo: Aqui eu usei spawn para obter um stdout streamable, entao eu usei um Writeable Stream para escrever os dados em formato binario. Apenas o testei e pude abrir a imagem resultante de test2.jpg. EDIT. Sim, voce pode usar isso para enviar o resultado sobre HTTP. Heres um exemplo de me downsizing uma imagem com converter, em seguida, postar o resultado para o glowfoto API: answer May 28 11 at 20:57 Obrigado, it39s true Eu perdi completamente a opcao maxBuffer, mas doesn39t parece resolver a corrupcao. Se voce ampliar isso com o meu exemplo o arquivo resultante nao e muito pequeno, mas ainda corrompido. Seu exemplo funciona, mas eu realmente preciso fazer mais com os dados do que canaliza-lo diretamente para outro arquivo. Mais especificamente, eu precisaria escreve-lo em uma resposta HTTP usando a estrutura expressa, por exemplo. Ndash Daniel Cremer May 28 11 at 22:06 Daniel Eu so tentei, mudando a linha de spawn para. Var convert spawn (39convert39, 39test. jpg39, 39-resize39, 395039, 39-39) e obteve um arquivo JPEG de trabalho reduzido 50. Tente atualizar sua postagem com o que voce tem agora. Ndash onteria Maio 28 11 as 22:12