Simditor圖片上傳


上一篇文章(Simditor用法)僅僅是簡單的默認配置,我們可自己定義工具欄button使其更豐富和實現上傳圖片功能

初始化編輯器

<script type="text/javascript">
   $(function(){
	toolbar = [ 'title', 'bold', 'italic', 'underline', 'strikethrough',
			'color', '|', 'ol', 'ul', 'blockquote', 'code', 'table', '|',
			'link', 'image', 'hr', '|', 'indent', 'outdent' ];
	var editor = new Simditor( {
		textarea : $('#editor'),
		placeholder : '這里輸入內容...',
		toolbar : toolbar,  //工具欄
		defaultImage : 'simditor-2.0.1/images/image.png', //編輯器插入圖片時使用的默認圖片
		upload : {
		    url : 'ImgUpload.action', //文件上傳的接口地址
		    params: null, //鍵值對,指定文件上傳接口的額外參數,上傳的時候隨文件一起提交
		    fileKey: 'fileDataFileName', //server端獲取文件數據的參數名
		    connectionCount: 3,
		    leaveConfirm: '正在上傳文件'
		} 
	});
   })
</script>

upload默覺得false,設置為true或者鍵值對就能夠實現上傳圖片,界面是出來了,還須要進行后台編碼(本例為Struts2)

實現功能之前須要改動一下simditor.js,我們能夠對"本地圖片" 用chrome審查元素發現沒有name屬性


打開simditor.js找到

return $input = $('<input type="file" title="' + Simditor._t('uploadImage') + '" accept="image/*">').appendTo($uploadItem);這一行,

能夠搜索accept="image/*"  高速找到在input里加上 name="fileData"

例如以下:

return _this.input = $('<input name="fileData" type="file" title="' + Simditor._t('uploadImage') 
+ '" accept="image/*">').appendTo($uploadBtn);
相同繼續搜索accept="image/*"  以下另一個,加上name="fileData"

ImgUploadAction

public class ImgUploadAction extends ActionSupport {  
	private static final long serialVersionUID = 1L;
	private String err = "";  
    private String msg;              //返回信息  
    private File fileData;           //上傳文件  
    private String fileDataFileName; //文件名稱  
  
    public String imgUpload() {  
        //獲取response、request對象  
        ActionContext ac = ActionContext.getContext();  
        HttpServletResponse response = (HttpServletResponse) ac.get(ServletActionContext.HTTP_RESPONSE);  
        HttpServletRequest request = (HttpServletRequest) ac.get(ServletActionContext.HTTP_REQUEST);  
          
        response.setContentType("text/html;charset=gbk");  
          
        PrintWriter out = null;  
        try {  
            out = response.getWriter();  
        } catch (IOException e1) {  
            e1.printStackTrace();  
        }  
  
        String saveRealFilePath = ServletActionContext.getServletContext().getRealPath("/upload");  
        File fileDir = new File(saveRealFilePath);  
        if (!fileDir.exists()) { //假設不存在 則創建   
            fileDir.mkdirs();  
        }  
        File savefile;  
        savefile = new File(saveRealFilePath + "/" + fileDataFileName); 
        try {  
            FileUtils.copyFile(fileData, savefile);  
        } catch (IOException e) {  
            err = "錯誤"+e.getMessage();  
            e.printStackTrace();  
        }  
        String file_Name = request.getContextPath() + "/upload/" + fileDataFileName;  
        
        msg = "{\"success\":\"" + true + "\",\"file_path\":\"" + file_Name + "\"}";  
        out.print(msg); //返回msg信息  
        return null;  
    }  
  
    public String getErr() {  
        return err;  
    }  
    public void setErr(String err) {  
        this.err = err;  
    }  
    
    public String getMsg() {  
        return msg;  
    }  
    public void setMsg(String msg) {  
        this.msg = msg;  
    }
    
	public File getFileData() {
		return fileData;
	}
	public void setFileData(File fileData) {
		this.fileData = fileData;
	}
	
	public String getFileDataFileName() {
		return fileDataFileName;
	}
	public void setFileDataFileName(String fileDataFileName) {
		this.fileDataFileName = fileDataFileName;
	}  
}  

作者:itmyhome

源代碼:下載


版權聲明:本文博主原創文章。博客,未經同意不得轉載。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM