当前位置:首页 > Web开发 > 正文

file.file.read()) return @post( ‘ /shop/get_file ‘ )async d

2024-03-31 Web开发

标签:

简要代码(aioredis):

@post(/shop/store_file) async def store_file(request,*,file,fileName): ‘‘‘ 直接进行二进制存储就行 ‘‘‘ await redis.execute("HSET", admin_doc,fileName, file.file.read()) return @post(/shop/get_file) async def get_file(request,*,fileName): return await redis.execute("HGET", admin_doc,fileName)

平台:python3 。测试库:aioredis

使用redis.py一样,这里是使用HSET/HGET进行存取的,使用GET/SET也行。

注意:如果代码中报UnicodeDecodeError错误,,可能是你连接数据库的时候指定了encode.

解决方案参考 https://blog.csdn.net/weixin_34096182/article/details/92490558 

1、不指定连接的encode。但是当你在同一个项目中存取正常的字符串时,需要手动对盘问功效进行解码。

2、改削aioredis中的 connection.py。把L236改成pass。就是对解码错误不进行措置惩罚惩罚。

postman 测试(链接相应改削,看参数即可)

技术图片

注意:参数file,后台收houhou到前台传的文件后,会姑且把此文件放入后台的file.file.name文件中。file.file仿佛就是类似open()出来的东西,可以通过file.file.open()进行文件读取操纵。

redis web后台存取二进制文件

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/30241.html