使用base64编码仅将上传到服务器是否存在问题?到达该位置后,即它将被发送到AWS并用作二进制文件,而不是base64字符串。
服务器对图像施加2 MB的限制。图像与其他数据一起在POST正文(JSON内容类型)中发送,例如:
def compare_digits(m, n):
read_ndigits = 0
same_digits = 0
while read_ndigits < 4: #number of digits
current_n = n % 10
read_mdigits = 0
while read_mdigits < 4:
current_m = m % 10
if current_n == current_m:
same_digits += 1
m //= 10
read_mdigits += 1
n //= 10
read_ndigits += 1
return same_digits
然后服务器将能够上载到S3存储桶。
答案 0 :(得分:0)
Bas64编码的图像是小尺寸(KB)图像的良好实践。 对于更大尺寸的图像,您可能会遇到尺寸错误。
尽管如果要使用(MB)大小的图像,我建议将其作为缩略图传递。
缩略图是图片或视频的缩小版本,用于帮助识别和整理它们,图像的作用与普通文本索引对单词的作用相同
答案 1 :(得分:0)
对二进制图像进行编码的Base64的generally accepted result比原始图像大大约30%。如果服务器限制为2MB,则通过编码增加图像时,实际上将限制为1.4MB。 Base64不是压缩方法,它只是通过HTTP
将二进制数据获取到服务器的一种方法。
如果您可以控制服务器,则改为使其接受gzip压缩的二进制数据,或者如果可以将图像放置在某处,则将其网址发送到请求中,服务器可以下载它。
答案 2 :(得分:0)
是的,我认为在上传图片时可以使用base64
,因为您在应用程序中使用的是api。您需要转换为物理图像并获取文件名并将其存储在数据库中。
答案 3 :(得分:-1)
这就是我所做的,因为当我将图像上传到 mongodb 时,我没有足够的勇气 bcrypt 我的图像......哦,我确实得到了一个二进制数组,然后我需要将其转换为 base64 以显示在我的网页上。 ..我不确定哪个更小,但我有什么作品。
我确实必须将此添加到我的 MERN 页面以允许上传图片:: (注意:如果你使用 body-parser,这就是它要去的地方)
app.use(express.json({limit: '50mb'}));