ueditor 自定义上传图片,上传图片自定义

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34354426/article/details/80306350

越来越不想写博客了,真的是累!

好了,废话不多说,进入正题。

前台:

既然你们都走到这里来了,那么前面的就不在多说了,直接进去配置好的页面。

<script type="text/javascript">
  var ue = UE.getEditor('editor', {
    maximumWords : 2000000, //允许的最大字符数
    sourceEditorFirst : false,
    allHtmlEnabled : true,
  });

  //图片和文件存入OSS中
  UE.Editor.prototype._bkGetActionUrl = UE.Editor.prototype.getActionUrl;
  UE.Editor.prototype.getActionUrl = function(action) {
    if (action == 'uploadimage' || action == 'uploadfile') {
      return '${path}/web/ueuploadimageoss!ueUploadImgaeOSS';  //此处改需要把图片上传到哪个Action(Controller)中
    } else {
      return this._bkGetActionUrl.call(this, action);
    }
  };
</script>

需要上传的路径返回过去,记得把config.json 中的 imageUrlPrefix 清空。


后台:

package com.yuneecuc.action.web;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletResponse;

import org.apache.struts2.convention.annotation.Action;
import org.json.JSONObject;

import com.yuneecuc.action.PublicAccessAction;
import com.yuneecuc.base.OSSUtils;
import com.yuneecuc.entity.SavedImage;

@Action("ueuploadimageoss")
public class UEUploadImageOSSAction extends ActionSupport {

    private File[] upfile;
    private String[] upfileFileName;
    private String[] upfileContentType;

    public void ueUploadImgaeOSS() {
        if (upfile == null) {
            resultUEMessage("图片不能为空", false, "");
            return;
        }
        SavedImage si = null;
        for (int i = 0; i < upfile.length; i++) {
            String fileExtension = upfileContentType[i];
            try {
                si = OSSUtils.uploadFileBinary(new FileInputStream(upfile[i]),
                        fileExtension.substring(fileExtension.lastIndexOf("/") + 1, fileExtension.length()), null, -1,
                        null, null);
            } catch (IOException e) {
                e.printStackTrace();
                resultUEMessage("IO异常", false, "");
                return;
            } catch (Exception e) {
                e.printStackTrace();
                resultUEMessage("上传失败", false, "");
                return;
            }
        }
        resultUEMessage("SUCCESS", true, si.getUrl());
    }

    /**
     * 返回UEditor的信息
     * 
     * @param message
     *            错误的消息提示
     * @param status
     *            是否成功
     * @param url
     *            图片的URL
     */
    private void resultUEMessage(String message, boolean status, String url) {
        JSONObject jsobject = new JSONObject();
        if (status) {
            jsobject.put("state", message);
            jsobject.put("url", url);
            jsobject.put("original", "");
        } else {
            jsobject.put("state", message);
            jsobject.put("url", "");
            jsobject.put("title", "");
            jsobject.put("original", "");
        }
        ServletResponse response = getResponse();
        response.setContentType("application/json;charset=utf-8");
        try {
            String outputStr = "";
            if (jsobject != null) {
                outputStr = jsobject.toString();
            }
            // ServletOutputStream对UTF-8的支持不好,此处用Writer
            PrintWriter out = response.getWriter();
            out.write(outputStr);
            out.flush();
            out.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public File[] getUpfile() {
        return upfile;
    }

    public void setUpfile(File[] upfile) {
        this.upfile = upfile;
    }

    public String[] getUpfileFileName() {
        return upfileFileName;
    }

    public void setUpfileFileName(String[] upfileFileName) {
        this.upfileFileName = upfileFileName;
    }

    public String[] getUpfileContentType() {
        return upfileContentType;
    }

    public void setUpfileContentType(String[] upfileContentType) {
        this.upfileContentType = upfileContentType;
    }

}


非常简单,核心是:只要知道哪里改上传的URL 和怎么返回数据格式。


猜你喜欢

转载自blog.csdn.net/qq_34354426/article/details/80306350