服务器与数据库构建
在前两节,我们完成了前端页面的设计和接口的开发。功能大致能用,但是图片会过期,也不能把图片全都保存在本地加载,这样工作量会巨大。
如上图,生成的图片一旦过期,会提示“图片加载失败”
所以第一件事,我们需要把从 OpenAI 生成的图片放到自己的图片服务器(图床)中,第二件事是将数据保存在我们自己的数据库中,比方说储存用户信息、用户写的提示词、生成图片的时间和 url,这涉及到数据的读写。
第三件事是设计一个登录态,用户需要登录之后才能使用我们的网站。不然很多人没有登录就直接使用接口生成图片,这会消耗我们大量的 token,有一定风险。
图片储存:AWS
先注册 AWS,国内也可以注册。在过程中如果像我一样遇到网络问题,请直接工单联系客服,反馈速度很快。完成注册登录后,在控制台搜索 “S3”,点击进入存储桶。
点击 “创建存储桶”,填写你的存储桶名称,其他选项默认,点击页面底部创建存储桶按钮即可创建。
完成创建后,回到存储桶列表页,点击刚创建的存储桶,点击权限。在 “屏蔽公共访问权限(存储桶设置)” 一栏中,点击 “编辑”,将权限全部打开。不然网站无法展示服务器上存储的信息。
确认公开访问权限后,在下方的 “存储桶策略” 中点击 “编辑” 按钮,输入策略代码并保存更改。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid":"AddPerm",
"Effect":"Allow",
"Principal":"*",
"Action":"s3:GetObject",
"Resource":"你的储存桶ARM/*"
}
]
}
# 储存桶 ARM 在页面中就有显示,直接复制粘贴进来
完成更改后,下拉页面找到 “跨域资源共享”,同样进行编辑并填入代码:
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"GET"
],
"AllowedOrigins": [
"https://localhost:8010/",
"https://localhost:3000/"
]
}
]
# 在 "AllowedOrigins" 中,如果你已经有现存域名,可以填写你自己的网站。