[解決済み] Node.jsでbase64エンコードされた画像をAmazon S3へアップロードする
2022-07-07 02:50:53
質問
昨日、夜中にコーディングをして、小さなnode.js/JS(実際にはCoffeeScriptですが、CoffeeScriptは単なるJavaScriptなので、JSとします)アプリを作りました。
目標は何ですか?
- クライアントがサーバーにキャンバスのデータリ(png)を送信する(socket.io 経由)。
- サーバーは画像を amazon s3 にアップロードします。
ステップ1が完了しました。
サーバに文字列が表示されるようになりました。
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACt...
私の質問です。 このデータをAmazon S3にストリーミング/アップロードし、そこに実際の画像を作成するための次のステップは何ですか?
ノックス https://github.com/LearnBoost/knox は、S3 に何かを PUT するための素晴らしいライブラリのようです。 しかし、私が見逃しているのは、base64-encoded-image-stringと実際のアップロードアクションの間の接着剤です。 ?
どんなアイデア、ポインタ、フィードバックも歓迎します。
どのように解決するのですか?
まだこの問題で悩んでいる人のために。以下は、私がネイティブのaws-sdkで行った方法です。
var AWS = require('aws-sdk');
AWS.config.loadFromPath('./s3_config.json');
var s3Bucket = new AWS.S3( { params: {Bucket: 'myBucket'} } );
ルーターメソッド内(ContentTypeは画像ファイルのcontentTypeを設定すること)。
buf = Buffer.from(req.body.imageBinary.replace(/^data:image\/\w+;base64,/, ""),'base64')
var data = {
Key: req.body.userId,
Body: buf,
ContentEncoding: 'base64',
ContentType: 'image/jpeg'
};
s3Bucket.putObject(data, function(err, data){
if (err) {
console.log(err);
console.log('Error uploading data: ', data);
} else {
console.log('successfully uploaded the image!');
}
});
s3_config.jsonファイルです。
{
"accessKeyId":"xxxxxxxxxxxxxxxx",
"secretAccessKey":"xxxxxxxxxxxxxx",
"region":"us-east-1"
}
関連
-
[解決済み] JavaScriptで画像をBase64文字列に変換するにはどうすればよいですか?
-
[解決済み】Node.jsでBase64エンコードを行うにはどうすればよいですか?
-
[解決済み】PNG画像をサーバーサイドで保存する方法(base64データのURIから)。
-
[解決済み] Angular 2 パスが存在しない場合に404や他のパスにリダイレクトする方法 [重複]について
-
[解決済み] selectタグのngModelの変更を検出する方法(Angular 2)?
-
[解決済み] ネストしたオブジェクトのプロパティを動的に設定する
-
[解決済み] jqueryで部分文字列を作成する方法
-
[解決済み] AngularJsでng-repeatを使用してフィルタリング(キー、値)を行うには?
-
[解決済み] JavaScriptの文字列は何バイトですか?
-
[解決済み] Chrome、Javascript、window.open in new tabについて
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] jqueryでdivの要素がオーバーフローしていないかチェックする
-
[解決済み] ExtJS 4のイベントハンドリングについて
-
[解決済み] jQuery scroll() は、ユーザーがスクロールを止めたことを検出する。
-
[解決済み] 文字列の最後の文字を取得するにはどうすればよいですか?重複
-
[解決済み] jQueryでDIVを別のDIVに複製する
-
[解決済み] JavaScriptのswitch文で厳密な比較を仮定するのは安全ですか?
-
[解決済み] Math.random()を呼び出す関数は純粋か?
-
[解決済み] Javascriptでメールを送信する
-
[解決済み] マウスオーバー時のマウスカーソルをアンカーのようなスタイルに変更する
-
[解決済み] データ追加時にdivの末尾まで自動スクロールさせるには?重複