質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

1回答

3042閲覧

Node.jsでメールに添付されたzipファイルをS3に送信したい。

usakoyama

総合スコア11

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2016/03/24 01:56

お世話になります。

Node.jsに送られてきたメールを解析して添付ファイルをS3に格納したいのですが、
バイナリ指定しても、何も指定しなくてもファイルが破損してしまい、解凍できなくなってしまいます。
binaryじゃなくて何を指定すればいいのか、どなたかご教授願います。

node.js

1app.post('/inbound', function (req, res) { 2 if (req.body.Attachments.length == 0) { res.send('success') } 3 var from = req.body.From, 4 messageId = req.body.MessageID, 5 s3bucket = new aws.S3({ params: { Bucket: 'hoge' } }); 6 7 req.body.Attachments.forEach(function (attachment) { 8 s3bucket.putObject({ 9 Key: 'piyo/' + attachment.Name, 10 Body: new Buffer(attachment.Content, 'binary') 11 //Body: attachment.Content でもダメでした 12 13 }, function (err, data) { 14 if (err) { console.error(err) } 15 res.send('success'); 16 }); 17 }); 18}); 19

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

t_obara

2016/03/24 03:24

S3に送ることが問題なのではなく、メール添付されたzipを正常に取り出せないのが問題なのでは? きちんと問題を切り分けることが最初のステップかと。
usakoyama

2016/03/24 03:59

コメントありがとうございます。今回は結果的にS3にputするところで'base64'を指定するところが抜けていたので、質問を投げるのもなかなか難しいです。
guest

回答1

0

こういう感じで'base64'をConvertEncodingとBufferに指定したらうまくいきました。

node.js

1 req.body.Attachments.forEach(function (attachment) { 2 s3bucket.putObject({ 3 Key: 'piyo/' + attachment.Name, 4 ContentEncoding: 'base64', 5 Body: new Buffer(attachment.Content,'base64') 6 }, function (err, data) { 7 if (err) { console.error(err) } 8 res.send('success'); 9 }); 10

投稿2016/03/24 03:56

usakoyama

総合スコア11

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問