Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 存储图像的MySQL服务器_Python_Mysql_Python 3.x_Image_Storage - Fatal编程技术网

Python 存储图像的MySQL服务器

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服务器可以工作。首先,这是最好的选择还是其他更好的选择?(我想用这些图像训练AI)
现在我构建了一些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服务器费用并不值得。查找有关如何上传网站的视频以获取更多服务器建议,但我会首先尝试将它们存储在一个文件夹中,并使用数据库每次从该文件夹中获取特定图像