首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将在表单中创建的文件(不是从任何类型的文件存储中提取)上载到AWS S3桶

将在表单中创建的文件(不是从任何类型的文件存储中提取)上载到AWS S3桶
EN

Stack Overflow用户
提问于 2017-09-14 13:14:44
回答 1查看 225关注 0票数 0

我正在创建一个个人网站,将允许我创建和保存文件到我的亚马逊S3桶。

设置如下:我有一个表单,其中包含一个文件名的文本输入,以及一个文件正文的文本区域。

思想:能够将文件保存为文件名和扩展名(即:如果文件名为“index.html”,它将在我的桶中保存为html对象)。它将保存任何输入到文本区域的内容,作为文件的正文内容。

错误: 1) POST heroku-url 500 (内部服务器错误) 2)拒绝加载字体的数据:/woff;base64 64,,因为它违反了以下内容安全策略指令:"default-src 'self'“。请注意,“字体-src”没有显式设置,因此“default-src”用作回退。

注意:我使用Heroku,我使用'heroku config:set‘命令来存储我的AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY,并存储我的桶名(S3_BUCKET)。

代码:

代码语言:javascript
复制
<h1>New File</h1>

<hr>

<form method="POST" action="/save-as">
  <input type="text" id="file_input" name="file_input" placeholder="File Name"><br>

  <textarea id="file_body" name="file_body"></textarea>

  <hr>
  <h2>Save changes</h2>

  <input id="submit" type="submit" value="Save">
</form>

代码语言:javascript
复制
const express = require('express');
const aws = require('aws-sdk');

var port = process.env.PORT || 3000;

const app = express();
app.set('views', './views');
app.use(express.static('./public'));
app.engine('html', require('ejs').renderFile);
app.listen(port);
console.log("App is listening on port: " + port);

aws.config.region = 'us-east-2';

const S3_BUCKET = process.env.S3_BUCKET;

app.get('/', (req,res) => res.render('index.html'));

app.post('/save-as', (req, res) => {
    const s3 = new aws.S3();
    const fileName = req.query['file_name'];
    const fileBody = req.query['file_body'];
    const s3Params = {
        Bucket: S3_BUCKET, 
        Key: fileName,
        Body: fileBody
    }
    s3.putObject(s3Params, (err,data) => {
       if(err) throw err;
        res.writeHead(200, {'Content-Type':'text/plain'});
        res.write("Successful!!");
        res.end();
    });
});

EN

回答 1

Stack Overflow用户

发布于 2017-09-20 20:58:29

完全脱离了解决错误的主题,但是您可以将其写为console.log(App is listening on port: ${port}) --这些是回退,而不是对象文字的引号,所以您不需要使用连接。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46220179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档