# 问题场景:对接第三方时遇到一个图片存储问题,对方给的是他们服务器的图片路径地址,但是 我这里存储图片用的是 ImageField  字段属性,也设置了存储路径,现在一旦将图片显示到前端就会将设置的存储路径前缀也带上。但是又不能改成  CharField 字段属性,所以为了不影响当前数据的情况下,需要将第三方的图片下载到自己的服务器内,并存储。(不知道有没有更好的方法,反正我找了半天没找到。。)

# 这个转换可以相当于你提交表单时传的图片对象,可以直接存入django的 ImageField  中

def file_to_img(img_url):
# 图片路径转换成 InMemoryUploadedFile
picFrontImg = requests.get(img_url)
hz1 = picFrontImg.request.url.split('.')[-1]
f = BytesIO()
img_content = picFrontImg.content # 图片的二进制数据
f.write(img_content)
front_path = "{0}.{1}".format(timezone.now().strftime('%Y%m%d%H%M%S%f'), hz1)
img_obj = InMemoryUploadedFile(f, None, front_path, None, len(img_content), None, None)
return img_obj def get_shop(request, *args, **kwargs):
shop_obj = Shop.objects.filter(id=1).first()
if shop_obj:
img_obj = file_to_img("http://xxx.png")
shop_obj.front_img = img_obj # 将图片数据存入 shop_obj 对象中
shop_obj.save() """... 到此结束后续代码暂不演示..."""

# 逐渐流失大概就是这个感觉吧。

最新文章

  1. android EditText 默认情况下不获取焦点(不弹出输入框)
  2. 怎么知道Fragment属于哪个Activity呢?
  3. git mv 命令 移动或重命名
  4. XSLT函数集合:数值函数、字符串函、节点集函数和布尔函数
  5. 《BI那点儿事》数据流转换——审核
  6. 关于MOD
  7. ASP.NET MVC 分部视图
  8. Linux 安装rar解压工具
  9. 字母A-Z写法
  10. [BZOJ 1733] [Usaco2005 feb] Secret Milking Machine 【二分 + 最大流】
  11. LA 4329 BIT 分治
  12. oracle_一次移动数据库dbf文件的操作
  13. unity 实现流光效果
  14. 【JMeter】获取JDBC响应做接口关联
  15. jmeter分布式压力测试之添加压力机
  16. ionic2
  17. 单线程任务 Task.Factory.StartNew 封装
  18. 解决Swap file ".ceshi.c.swp" already exists!问题
  19. Go Packages、Variables、functions
  20. 【Nginx】修改响应头,根据不同请求IP重定向到不同IP

热门文章

  1. deepin安装卡在deepin标志界面解决方案
  2. Ubiq:A Scalable and Fault-tolerant Log Processing Infrastructure
  3. 基于百度地图JavaScript API,员工住址统计
  4. js组件
  5. asp.net core web的导入导出excel功能
  6. Android:Toolbar的图标尺寸问题
  7. python 读取.mat文件
  8. Java自学-类和对象 包
  9. iOS测试中发现一个textview控制,使用clear()无法清除文字
  10. 连接池未注册org.logicalcobwebs.proxool.ProxoolException: Attempt to refer to a unregistered pool by its alias 'XXX'