关于 UEditor 调用自定义上传方法,并jar包部署到分布式环境中图片回显问题

最近遇见UEditor 在开发环境能够正常图片上传回显,但是jar包部署到linux环境图片无法上传回显问题。

这里只是本人调通能够正常使用,现在只展示修改内容,不会台详细介绍修改的原因。

该项目部署到linux环境,分布式部署。目前正常使用

感谢 :https://blog.csdn.net/yuanchengmm/article/details/100731826 主要借鉴该博主的方式,结合自己的项目。

直接进入正题:

  1. 修改index.html 中 ueditor 上传图片调用的方法, 这里直接修改为自己写的方法

 //实例化编辑器
    var ue = UE.getEditor('editor');
    console.log(ue, 'uegetEditor--------')
    ue.ready(function() {

    	var fheight = getUrlKey('fheight');
    	ue.setHeight(fheight+0);
    	DJXX_ID = getUrlKey('DJXX_ID');
    	var lt = location+'';
    	serverurl = lt.replace('plugins/ueditor/index.html?fheight='+fheight+'&DJXX_ID='+DJXX_ID,'');
    	getHcContent(DJXX_ID);
        UE.Editor.prototype._bkGetActionUrl = UE.Editor.prototype.getActionUrl;
        UE.Editor.prototype.getActionUrl = function(action) {
            if (action == 'uploadimage' || action == 'uploadscrawl' || action == 'uploadimage') {
                return '/uploadFiles/euditUpload'; //在这里返回我们实际的上传图片地址
            } else {
                return this._bkGetActionUrl.call(this, action);
            }
        }
    })

  2.在我们所写的上传方法中需要注意的地方

/*
 upfile 应该与config .json中的 “imageFieldName” 保持一致
*/
 public Map<String, Object> euditUpload(MultipartFile upfile,  String filetype, String fileywid,String fileName) {

        Map<String, Object> map = new HashMap<String, Object>();
         //上传文件
        Map<String, Object> ret = new HashMap<String, Object>();
        SFTPUtil sftpUtil = SFTPUtil.getSFTPUtil();
        ret = sftpUtil.uploadFile(upfile, filetype,fileName);
            // 图片访问的url
            map.put("url", ipPort+ret.get("fileUrl")+File.separator+cloudFile.getFileAactualaddress());
            //是否上传成功
            map.put("state", "SUCCESS");
            //文件原名称
            map.put("original", "");
            //现在文件名称
            map.put("title",cloudFile.getFileName());

        return map;
    }

3.修改 config.json  这里的图片访问路径我们已经只要去掉就行,因为已经在自己写的上传中对图片回显的url进行处理,这里的“

imageUrlPrefix” 不去掉会重复拼接。

 4.修改 ConfigManager 的中 initEnv(),这里是为了在linux 环境下读取到 config.json 文件

private void initEnv () throws FileNotFoundException, IOException {

		File file = new File( this.originalPath );

		if ( !file.isAbsolute() ) {
			file = new File( file.getAbsolutePath() );
		}

		this.parentPath = file.getParent();

		//String configContent = this.readFile( this.getConfigPath() );
        // 修改config.json 的读取方式
		String configContent = this.filter(IOUtils.toString(this.getClass().getClassLoader().getResourceAsStream("config.json")));

		try{
			JSONObject jsonConfig = new JSONObject( configContent );
			this.jsonConfig = jsonConfig;
		} catch ( Exception e ) {
			this.jsonConfig = null;
		}

	}

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值