Python 存储图像的MySQL服务器
我需要一个服务器,我可以访问与python和我可以存储许多图片。我听说MySQL服务器可以工作。首先,这是最好的选择还是其他更好的选择?(我想用这些图像训练AI)Python 存储图像的MySQL服务器,python,mysql,python-3.x,image,storage,Python,Mysql,Python 3.x,Image,Storage,我需要一个服务器,我可以访问与python和我可以存储许多图片。我听说MySQL服务器可以工作。首先,这是最好的选择还是其他更好的选择?(我想用这些图像训练AI) 现在我构建了一些python代码,可以在MySQL服务器中保存图像,但它们太大了。在我的硬盘上,他们需要4KB,在MySQL服务器上需要160KB,所以每张图像需要80KB。 这是存储空间的20倍!!有比这更好的存储方式吗? 我的python代码: def insert_image(self, photo_path, name, ta
现在我构建了一些python代码,可以在MySQL服务器中保存图像,但它们太大了。在我的硬盘上,他们需要4KB,在MySQL服务器上需要160KB,所以每张图像需要80KB。
这是存储空间的20倍!!有比这更好的存储方式吗?
我的python代码:
def insert_image(self, photo_path, name, table_name, id):
binary_photo = self.convert_to_binary_data(photo_path)
insert_blob_query = "INSERT INTO {} (id, name, photo) VALUES ('{}','{}',{})".format(table_name, id, name,
str(base64.b64encode(
binary_photo))[1:])
self.connection.execute(insert_blob_query)
def read_blob_data_by_id(self, id, table_name, path):
sql_fetch_blob_query = "SELECT * from {} where id = '{}'".format(table_name, id)
result = self.connection.execute(sql_fetch_blob_query)
for row in result:
id_query = row[0]
name = row[1]
photo = base64.b64decode(row[2])
file_like = io.BytesIO(photo)
img = Image.open(file_like)
img.save(path + '\\' + name + '.jpg')
我使用的是python 3.8和MySQL服务器8.2。你可以将图像存储在另一个位置,例如你的计算机或Web服务器(如果是网站),同时将它们的链接存储在数据库中。什么样的网站最好?有很多可供选择,hostgator很受欢迎,但为一个小项目支付Web服务器费用并不值得。查找有关如何上传网站的视频以获取更多服务器建议,但我会首先尝试将它们存储在一个文件夹中,并使用数据库每次从该文件夹中获取特定图像