LoginSignup
4
8

More than 5 years have passed since last update.

S3の画像ファイルをExpressで表示する

Last updated at Posted at 2015-02-03

S3の画像ファイルを表示する以外何もしない単純なwebアプリ。

nodeパッケージ

$ npm install express@4.9.8
$ npm install jade
$ npm install aws-sdk

aws-sdk用設定

$HOME/.aws/credentials
[default]
aws_access_key_id = XXXX
aws_secret_access_key = XXXX

テンプレート

views/index.jade
doctype html
html
  body
    img(src='./fig.png')

アプリケーション

index.js
var express = require('express');

var app = express();

app.set('view engine', 'jade');
app.set('views', __dirname + '/views');

var aws = require('aws-sdk');
var region = 'ap-northeast-1';

var s3 = new aws.S3({region:region});

app.get('/', function (req, res) {
  res.render('index');
});

app.get('/fig.png', function (req, res) {
  bucket= 'BUCKET';
  key = 'fig.png';
  s3.getObject({Bucket:bucket, Key:key},
          function(err,data) {
              if (err) {
                  // some error handling
              }
              else {
                  res.send(data.Body);
              }
          }
  );

});

var PORT = 8080;
app.listen(PORT);
$ node index.js

ポートは任意。$IP_ADDRESS:8080で画像が表示される。

4
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
8