将图片加水印,上传到django后台

黑加仑妞 2017-03-13 08:00:28
图片成功加水印,但是上传到数据库的图片却是没有加水印之前的图片
class Images(CommonInfo):
image = models.ImageField(upload_to='documents/%Y/%m/%d')
def save(self, *args, **kwargs):
if self.image:
# pdb.set_trace()
path = os.getcwd()
cur_path = os.path.join(path,'share\static\share\images\logo3.png')
mark = Img.open(cur_path)
img = Img.open(StringIO.StringIO(self.image.read()))
wmimg = watermark(img, mark, 'scale', 0.5)

if wmimg.mode != 'RGB':
pdb.set_trace()
wmimg = wmimg.convert('RGB')
wmimg.thumbnail((self.image.width/1.5,self.image.height/1.5), Img.ANTIALIAS)
output = StringIO.StringIO()
wmimg.save(output, format='JPEG', quality=70)
output.seek(0)
self.image= InMemoryUploadedFile(output,'ImageField', "%s.jpg" %self.image.name.split('.')[0], 'image/jpeg', output.len, None)
super(Images, self).save(*args, **kwargs)

请问,哪里出了什么问题
...全文
236 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
mxhdrsbak 2017-03-17
  • 打赏
  • 举报
回复
学习一下。。。
python_lele 2017-03-16
  • 打赏
  • 举报
回复
1,你的服务器有没有部署python和django环境?如果有的话,把原图片放入数据库,用代码调出数据库的图片进行加水印处理(这部分放入你需要放图片的位置---保证这段处理代码能正常运行),保存文件。这样当有链接访问这个文件的时候,这图片才是加水印的。非常麻烦。 2,你在别的电脑上用别的语言把数据库里面的图片传回来看看是否有水印,应该是没有的。这就表示你上传的是原图而处理水印的代码在服务器根本不可用(服务器环境没有配置)或根本没上传到服务器。
黑加仑妞 2017-03-16
  • 打赏
  • 举报
回复
引用 4 楼 python_lele 的回复:
你只是从代码上本地实现了水印,你上传的图片本质没有改变,你要把图片和代码段打包后一起上床到数据库,应该才是你想要出现的
可是我是代码里面是直接save到数据库了,而且之前我也有查看过,确实是加了水印的图片
python_lele 2017-03-16
  • 打赏
  • 举报
回复
在加载图片时,用html加载你编写的代码模块处理下这个图片,应该看到的就是带水印的。或者把实现水印的代码转为javascript加载在html头部,这应该也能实现
python_lele 2017-03-16
  • 打赏
  • 举报
回复
你只是从代码上本地实现了水印,你上传的图片本质没有改变,你要把图片和代码段打包后一起上床到数据库,应该才是你想要出现的
John_Me 2017-03-15
  • 打赏
  • 举报
回复
我建议你,把你show的图片保存成本地另外一张图片,看看是不是已经加上水印了.
黑加仑妞 2017-03-15
  • 打赏
  • 举报
回复
引用 1 楼 jon_me 的回复:
你确定你上传的图片是加水印后的图片么?
确定,我有show出来看,但是传到服务器上之后又是正常的,在本地打开却是没有加水印的图片
John_Me 2017-03-15
  • 打赏
  • 举报
回复
你确定你上传的图片是加水印后的图片么?

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧