-1

#我想让用户上传一张图片并保存在数据库中(sqlite3),我尝试了以下方法,但是还是不行:

def filedialogs(self):
    global get_img
    get_img = filedialog.askopenfilename(filetypes=(("png","*.png"),("jpg","*.jpg"),("Allfile","*.*")))

def convert_image_into_binary(self,filename):
    with open(filname, 'rd') as file:
        photo_image=file.read()
    return photo_image

def Add_car(self):
    self.con = sqlite3.connect('car dealership.db')
    self.cursorObj = self.con.cursor()
    self.insert_photo = self.convert_image_into_binary(photo)
    sqlite_insert_blob_query = '''INSERT INTO cars_info(carmake, carmodel, caryear, cartransmition, carfuel, carcolor, carengine, carpreviousowners, carorigin, carmileage, carnumofpassengers, carlincesplatenum, carimageone) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?)'''
    entities = (self.makecb.get(), self.modelcb.get(), self.Yearcb.get(), self.Transmissioncb.get(),self.Fuelcb.get(), self.colorcb.get(), self.Enginedisplacementcb.get(), self.PreviousownersE.get(),self.Vehicleorigincb.get(), self.mileagecb.get(), self.numofpasscb.get(), self.lincesplatenum.get(),self.insert_photo)
                
    self.cursorObj.execute(sqlite_insert_blob_query, entities)

    self.con.commit()
    print("image and file inserted successfully as a blob into a table")
    self.cursorObj.close()

#所以,谁能帮助我,我被困在这个问题上?

4

1 回答 1

0

使用 open( filname , 'r d ') 作为文件:

应该读

使用 open( filename , 'r b ') 作为文件:

此外,当您致电时self.convert_image_into_binary(photo)照片尚未定义。

于 2021-12-12T19:49:56.630 回答