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

QQ登录

只需一步,快速开始

查看: 1151|回复: 2

[结贴] attachmentImage如果在js中获取图片?

[复制链接]

28

主题

67

帖子

1054

积分

金牌会员

Rank: 6Rank: 6

积分
1054
QQ
发表于 2016-7-7 16:02:01 | 显示全部楼层 |阅读模式
如何通过js获取attachmentImage上传图片,不用DocUtils.InnerUtils.getURLByFileID({docPath:docPath,fileID:fileID,context:this.getContext()})之类的重新从下载。

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35918
发表于 2016-7-7 17:17:26 | 显示全部楼层
        var url = DocUtils.InnerUtils.getdocServerAction({
                                        "docPath" : docPath,
                                        urlPattern : "/repository/file/view/" + fileID + "/last/content",
                                        isFormAction : false,
                                        context : this.getContext()
                                });
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

28

主题

67

帖子

1054

积分

金牌会员

Rank: 6Rank: 6

积分
1054
QQ
 楼主| 发表于 2016-7-8 16:31:48 | 显示全部楼层
我用的是attachmentSimple组,我们原本想实现的是这样一个功能,在Bx5中保存图片,在wex5中读取图片。解决思路是在图片字段更改后,将图片转换为Base84保存下来,在wex5中用一个图片标签的src直接关联该Base84字段,就可以实现图片的浏览。具体代码:1.值改变事件
Model.prototype.mainDataValueChanged = function(event) {
        //debugger;
                if (event.col == 'fGoodImg1'&&event.value !='[]') {
                        var data = this.comp('mainData');
                        var row = data.getCurrentRow();
                        var jsonList = eval("(" + row.val('fGoodImg1') + ")");
                        var ownerID = row.getID();
                        var realFileName = jsonList[0]["realFileName"];
                        var storeFileName = jsonList[0]["storeFileName"];
                        var operateType = "preview";
                        //debugger;
                        var imageUrl = this.comp("attachmentSimple1").getFileUrl(realFileName, storeFileName, ownerID, operateType);
                        data.setValue('fGoodImg', imageUrl, row);
                        data.setValue('fGoodImgUrl', imageUrl, row);
                        console.log('imageUrl', imageUrl);
                        this.convertImgToBase64(imageUrl, function(base64Img) {
                                // alert(base64Img);
                                // $("#image5").attr('src',base64Img);
                                data.setValue('fGoodImgBS64', base64Img, row);
                        });
                }
                if(event.col == 'fGoodImg1'&&event.value =='[]'){
                        var data = this.comp('mainData');
                        var row = data.getCurrentRow();
                        data.setValue('fGoodImg', '', row);
                        data.setValue('fGoodImgUrl', '', row);
                        data.setValue('fGoodImgBS64', '', row);
                }
        };
2.将图片转换为Base64
        Model.prototype.convertImgToBase64 = function(url, callback, outputFormat) {
                var canvas = document.createElement('CANVAS');
                var ctx = canvas.getContext('2d');
                var img = new Image;
                img.crossOrigin = 'Anonymous';
                img.onload = function() {
                        canvas.height = img.height;
                        canvas.width = img.width;
                        ctx.drawImage(img, 0, 0);
                        var dataURL = canvas.toDataURL(outputFormat || 'image/png');
                        callback.call(this, dataURL);
                        // Clean up
                        canvas = null;
                };
                img.src = url;
        };



已结解决了,可以结贴了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 20:54 , Processed in 0.064872 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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