起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5034|回复: 8

[结贴] 上传后压缩图片大小

[复制链接]

15

主题

67

帖子

322

积分

中级会员

Rank: 3Rank: 3

积分
322
QQ
发表于 2017-1-9 09:12:12 | 显示全部楼层 |阅读模式
我们的版本是bex5 3.3,只能自己写压缩图片动作,我写在data的保存后动作中,但是获取到的
Docs docs = new Docs();
DocUtils.unlock(fileID);
Doc doc = docs.query(fileID, docPath,null,null,null).get(fileID);
doc是空的,如果取原有的字段的图片是取得到的,应该怎么压缩图片。

15

主题

67

帖子

322

积分

中级会员

Rank: 3Rank: 3

积分
322
QQ
 楼主| 发表于 2017-1-9 10:52:36 | 显示全部楼层
咋没人尼,求助
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2017-1-9 14:02:19 | 显示全部楼层
如果取原有的字段的图片是取得到的什么意思?意思是压缩后的不能获取到?

具体是怎么操作?

如果是上传后压缩,那么压缩后需要重新上传,重新生成fileID是会改变,不能用之前的fileID的值

上传后下载压缩可以在后端java中操作,参考
http://bbs.wex5.com/forum.php?mo ... 8&pid=165328630
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

15

主题

67

帖子

322

积分

中级会员

Rank: 3Rank: 3

积分
322
QQ
 楼主| 发表于 2017-1-9 14:10:19 | 显示全部楼层
就是在保存后的动作
Model.prototype.mainDataAfterSave = function(event){
                var fSimplePic=this.comp("mainData").val("fSimplePic");
                console.info(fSimplePic);
                var pics=$.parseJSON(fSimplePic);
                var pic=pics.pop();
                commonjs.changePicSize(this,pic.docPath,pic.docID);
        };
获取了docPath和docID,然后再后台执行
Docs docs = new Docs();
DocUtils.unlock(fileID);
Doc doc = docs.query(fileID, docPath,null,null,null).get(fileID);
经调试获取到的这个doc是空的,如果我直接保存,然后随便再改个字段再保存,这时候获取到的doc才是有值的。
压缩照片的动作我应该写在哪里才合适
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2017-1-9 15:27:14 | 显示全部楼层
在onSaveCommit中获取看看
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

15

主题

67

帖子

322

积分

中级会员

Rank: 3Rank: 3

积分
322
QQ
 楼主| 发表于 2017-1-11 15:27:48 | 显示全部楼层
现在我已经实现了图片的压缩,但是我发现一个问题就是上传后图片并不是真的覆盖,而是另外放一个目录,时间久了,一些没用到的图片不是会占用很大资源,怎么直接实现覆盖,而不是另外放一个目录,或者怎么定时删这些没用的图片
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2017-1-11 16:36:48 | 显示全部楼层
没有覆盖的,可以在重新上传的时候删除之前的
http://bbs.wex5.com/forum.php?mo ... 7&pid=164998470
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

15

主题

67

帖子

322

积分

中级会员

Rank: 3Rank: 3

积分
322
QQ
 楼主| 发表于 2017-1-11 16:45:58 | 显示全部楼层
好的谢谢,结贴吧
回复 支持 反对

使用道具 举报

17

主题

46

帖子

232

积分

中级会员

Rank: 3Rank: 3

积分
232
QQ
发表于 2017-10-27 15:14:25 | 显示全部楼层
按照上面说的那样做了之后图片大小并没有改变。
Docs docs = new Docs();
                        DocUtils.unlock(docID);
                       
                        Doc doc = docs.query(docID, docPath,null,null,null).get(docID);       
                        String FileName =doc.getsDocName();
                        String bizRoot = FileSystemWrapper.instance().getBase();
                       
                        bizRoot = bizRoot.replace("BIZ", "UI2");
                    FileName =bizRoot+"/AppPro/ArtBookManager/uploadFile/"+FileName;
                       
            File outPutFile =new File(FileName);
               
                //这里设置文件的大小,并没有生效
                doc.setsSize(10f);
            doc.download(new FileOutputStream(outPutFile));
                        doc.upload(outPutFile);
                        docs.createVersion();
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-2 07:00 , Processed in 0.078137 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表