textarea 操作

textarea 操作_第1张图片



<%@ page language="java" contentType="text/html; charset=utf-8"

pageEncoding="utf-8"%>




信息管理
href="static/jquery-easyui-1.3.3/themes/default/easyui.css">
href="static/jquery-easyui-1.3.3/themes/icon.css">




type="text/css" rel="stylesheet">
















pagination="true" rownumbers="true" url="user/list.do" fit="false"
toolbar="#tb">











编号 真名 账号 邮箱 激活码 进度






style="width: 900px; height: 600px; padding: 10px 20px" closed="true"
buttons="#dlg-buttons">




























































账号: class="easyui-validatebox" required="true"
validType="minLength[3]" missingMessage="不能为空" />
密码: class="easyui-validatebox" required="true"
validType="minLength[3]" missingMessage="不能为空" />
邮箱: class="easyui-validatebox" required="true" validType="email"
invalidMessage="请填写正确的邮箱" />
状态:
角色: data-options="panelHeight:'auto',editable:false,valueField:'id',textField:'name',url:'user/comboList.do'" />
电话: class="easyui-numberbox" required="true" validType="number"
missingMessage="请输入数字" />
真实姓名: class="easyui-validatebox" required="true"
missingMessage="真实姓名不能为空" />
进度: class="easyui-numberbox" required="true" validType="number"
missingMessage="请输入数字"  />
地址描述:





























































-----------------下面是java代码----------------------------

package com.dt.controller;


import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.List;
import java.util.Map;
import java.util.Random;


import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.io.FileUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;


import com.alibaba.fastjson.JSONObject;


@Controller
@RequestMapping("file")
public class FileController {


// windows
private String PATH_LINE = "\\";
// linux
// private String PATH_LINE = "/";


@SuppressWarnings("unchecked")
@RequestMapping(value = "/fileUpload", method = RequestMethod.POST)
@ResponseBody
public void fileUpload(HttpServletRequest request, HttpServletResponse response,
@RequestParam("imgFile") MultipartFile[] imgFile) {
try {
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();


// 文件保存本地目录路径
String savePath = request.getSession().getServletContext().getRealPath(PATH_LINE) + "kindeditor" + PATH_LINE
+ "attached" + PATH_LINE;
System.out.println("本地路径:" + savePath);
// 文件保存目录URL
String saveUrl = request.getContextPath() + PATH_LINE + "kindeditor" + PATH_LINE + "attached" + PATH_LINE;


System.out.println("文本url:" + saveUrl);


if (!ServletFileUpload.isMultipartContent(request)) {
out.print(getError("请选择文件。"));
out.close();
return;
}
// 检查目录
File uploadDir = new File(savePath);
if (!uploadDir.isDirectory()) {
out.print(getError("上传目录不存在。"));
out.close();
return;
}
// 检查目录写权限
if (!uploadDir.canWrite()) {
out.print(getError("上传目录没有写权限。"));
out.close();
return;
}


String dirName = request.getParameter("dir");
if (dirName == null) {
dirName = "image";
}


// 定义允许上传的文件扩展名
Map extMap = new HashMap();
extMap.put("image", "gif,jpg,jpeg,png,bmp");
extMap.put("flash", "swf,flv");
extMap.put("media", "swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb");
extMap.put("file", "doc,docx,xls,xlsx,ppt,htm,html,xml,txt,zip,rar,gz,bz2");


if (!extMap.containsKey(dirName)) {
out.print(getError("目录名不正确。"));
out.close();
return;
}
// 创建文件夹
savePath += dirName + PATH_LINE;
saveUrl += dirName + PATH_LINE;
File saveDirFile = new File(savePath);
if (!saveDirFile.exists()) {
saveDirFile.mkdirs();
}


SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String ymd = sdf.format(new Date());
savePath += ymd + PATH_LINE;
saveUrl += ymd + PATH_LINE;
File dirFile = new File(savePath);
if (!dirFile.exists()) {
dirFile.mkdirs();
}


// 最大文件大小
long maxSize = 1000000;


// 保存文件
for (MultipartFile iFile : imgFile) {
String fileName = iFile.getOriginalFilename();


// 检查文件大小
if (iFile.getSize() > maxSize) {
out.print(getError("上传文件大小超过限制。"));
out.close();
return;
}
// 检查扩展名
String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();
if (!Arrays. asList(extMap.get(dirName).split(",")).contains(fileExt)) {
// return getError("上传文件扩展名是不允许的扩展名。\n只允许" +
// extMap.get(dirName) + "格式。");
out.print(getError("上传文件扩展名是不允许的扩展名。\n只允许" + extMap.get(dirName) + "格式。"));
out.close();
return;
}


SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
String newFileName = df.format(new Date()) + "_" + new Random().nextInt(1000) + "." + fileExt;
System.out.println(savePath+newFileName);
try {
File uploadedFile = new File(savePath, newFileName);


// 写入文件
FileUtils.copyInputStreamToFile(iFile.getInputStream(), uploadedFile);
} catch (Exception e) {
out.print(getError("上传文件失败。"));
out.close();
return;
}


JSONObject obj = new JSONObject();
obj.put("error", 0);
obj.put("url", saveUrl + newFileName);
System.out.println("-------最后的路径--------"+saveUrl + newFileName);


out.print(obj.toJSONString());
out.close();
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}


private Map getError(String errorMsg) {
Map errorMap = new HashMap();
errorMap.put("error", 1);
errorMap.put("message", errorMsg);
return errorMap;
}


/**
* 文件空间

* @param request
*            {@link HttpServletRequest}
* @param response
*            {@link HttpServletResponse}
* @return json
*/
@RequestMapping(value = "/fileManager")
@ResponseBody
public void fileManager(HttpServletRequest request, HttpServletResponse response) {
//System.out.println("获取核心path参数:"+request.getParameter("path"));
try {
// 根目录路径,可以指定绝对路径
String rootPath = request.getSession().getServletContext().getRealPath(PATH_LINE) + "kindeditor" + PATH_LINE
+ "attached" + PATH_LINE;
// 根目录URL,可以指定绝对路径,比如 http://www.yoursite.com/attached/
String rootUrl = request.getContextPath() + PATH_LINE + "kindeditor" + PATH_LINE + "attached" + PATH_LINE;
response.setContentType("application/json; charset=UTF-8");
PrintWriter out = response.getWriter();


// 图片扩展名
String[] fileTypes = new String[] { "gif", "jpg", "jpeg", "png", "bmp" };


String dirName = request.getParameter("dir");
if (dirName != null) {
if (!Arrays. asList(new String[] { "image", "flash", "media", "file" }).contains(dirName)) {
out.print("无效的文件夹。");

out.close();
return;
}
rootPath += dirName + PATH_LINE;
rootUrl += dirName + PATH_LINE;

File saveDirFile = new File(rootPath);
if (!saveDirFile.exists()) {
saveDirFile.mkdirs();
}
}
// 根据path参数,设置各路径和URL
String path = request.getParameter("path") != null ? request.getParameter("path") : "";

String currentPath = rootPath + path;
String currentUrl = rootUrl + path;
String currentDirPath = path;
String moveupDirPath = "";
if (!"".equals(path)) {
String str = currentDirPath.substring(0, currentDirPath.length() - 1);
moveupDirPath = str.lastIndexOf(PATH_LINE) >= 0 ? str.substring(0, str.lastIndexOf(PATH_LINE) + 1) : "";
}
// 排序形式,name or size or type
String order = request.getParameter("order") != null ? request.getParameter("order").toLowerCase() : "name";
        
// 不允许使用..移动到上一级目录
if (path.indexOf("..") >= 0) {
out.print("访问权限拒绝。");
out.close();
return;
}

/* 最后一个字符不是
if (!"".equals(path) && !path.endsWith(PATH_LINE)) {
out.print("无效的访问参数验证。");
System.out.println("无效的访问参数验证。");
out.close();
return;
}*/

//最后一个字符不是/
System.out.println(path);
if (!"".equals(path) && !path.endsWith("/")) {
out.println("Parameter is not valid.");
return;
}

// 目录不存在或不是目录
File currentPathFile = new File(currentPath);
if (!currentPathFile.isDirectory()) {
out.print("文件夹不存在。");
out.close();
return;
}


// 遍历目录取的文件信息
List> fileList = new ArrayList>();
if (currentPathFile.listFiles() != null) {
for (File file : currentPathFile.listFiles()) {
Hashtable hash = new Hashtable();
String fileName = file.getName();
if (file.isDirectory()) {
hash.put("is_dir", true);
hash.put("has_file", (file.listFiles() != null));
hash.put("filesize", 0L);
hash.put("is_photo", false);
hash.put("filetype", "");
} else if (file.isFile()) {
String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();
hash.put("is_dir", false);
hash.put("has_file", false);
hash.put("filesize", file.length());
hash.put("is_photo", Arrays. asList(fileTypes).contains(fileExt));
hash.put("filetype", fileExt);
}
hash.put("filename", fileName);
hash.put("datetime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(file.lastModified()));
fileList.add(hash);
}
}


if ("size".equals(order)) {
Collections.sort(fileList, new SizeComparator());
} else if ("type".equals(order)) {
Collections.sort(fileList, new TypeComparator());
} else {
Collections.sort(fileList, new NameComparator());
}


JSONObject result = new JSONObject();
result.put("moveup_dir_path", moveupDirPath);
result.put("current_dir_path", currentDirPath);
result.put("current_url", currentUrl);
result.put("total_count", fileList.size());
result.put("file_list", fileList);


out.println(result.toJSONString());
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}


private class NameComparator implements Comparator> {
public int compare(Map hashA, Map hashB) {
if (((Boolean) hashA.get("is_dir")) && !((Boolean) hashB.get("is_dir"))) {
return -1;
} else if (!((Boolean) hashA.get("is_dir")) && ((Boolean) hashB.get("is_dir"))) {
return 1;
} else {
return ((String) hashA.get("filename")).compareTo((String) hashB.get("filename"));
}
}
}


private class SizeComparator implements Comparator> {
public int compare(Map hashA, Map hashB) {
if (((Boolean) hashA.get("is_dir")) && !((Boolean) hashB.get("is_dir"))) {
return -1;
} else if (!((Boolean) hashA.get("is_dir")) && ((Boolean) hashB.get("is_dir"))) {
return 1;
} else {
if (((Long) hashA.get("filesize")) > ((Long) hashB.get("filesize"))) {
return 1;
} else if (((Long) hashA.get("filesize")) < ((Long) hashB.get("filesize"))) {
return -1;
} else {
return 0;
}
}
}
}


private class TypeComparator implements Comparator> {
public int compare(Map hashA, Map hashB) {
if (((Boolean) hashA.get("is_dir")) && !((Boolean) hashB.get("is_dir"))) {
return -1;
} else if (!((Boolean) hashA.get("is_dir")) && ((Boolean) hashB.get("is_dir"))) {
return 1;
} else {
return ((String) hashA.get("filetype")).compareTo((String) hashB.get("filetype"));
}
}
}


}

-----------------------------------------------------------------------------------

package com.dt.controller;


import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;


import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;


import com.alibaba.fastjson.JSONObject;
import com.dt.util.FtpUtil;


@Controller
@RequestMapping("ftp")
public class FtpController {
@RequestMapping(value = "/fileUpload", method = RequestMethod.POST)
@ResponseBody
public void fileUpload(HttpServletRequest request, HttpServletResponse response,
@RequestParam("imgFile") MultipartFile imgFile) throws IOException {
JSONObject obj = new JSONObject();
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();


System.out.println("---------");


try {
// 上传文件功能实现
// 判断文件是否为空
if (imgFile.isEmpty()) {


}


// 上传文件以日期为单位分开存放,可以提高图片的查询速度
String filePath = "/" + new SimpleDateFormat("yyyy").format(new Date()) + "/"
+ new SimpleDateFormat("MM").format(new Date()) + "/"
+ new SimpleDateFormat("dd").format(new Date());


// 取原始文件名
// String originalFilename = imgFile.getOriginalFilename();
String new_filename = genImageName() + ".jpg";


// 转存文件,上传到ftp服务器
FtpUtil.uploadFile("192.168.1.110", 21, "test", "123456", "", filePath, new_filename,
imgFile.getInputStream());
String pp = "http://192.168.1.110/img" + filePath + "/" + new_filename;
System.out.println("******pp******" + pp);
obj.put("error", 0);
obj.put("url", pp);


} catch (Exception e) {
e.printStackTrace();
}


out.print(obj.toJSONString());
out.close();


}
/*

* FTPClient ftpClient = new FTPClient();
* ftpClient.connect("192.168.25.200"); ftpClient.login("ftpuser",
* "ftpuser"); FileInputStream inputStream = new FileInputStream(new
* File("D:\\Documents\\Pictures\\pics\\21.jpg"));
* ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
* ftpClient.storeFile("123.jpg", inputStream); inputStream.close();

* ftpClient.logout();

*/


/**
* 图片名生成
*/
public static String genImageName() {
// 取当前时间的长整形值包含毫秒
long millis = System.currentTimeMillis();
// long millis = System.nanoTime();
// 加上三位随机数
Random random = new Random();
int end3 = random.nextInt(999);
// 如果不足三位前面补0
String str = millis + String.format("%03d", end3);


return str;
}


}

----------------------------------------------------------------------------------------------------



package com.dt.util;


import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;


import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;


/**
 * ftp上传下载工具类
 *

Title: FtpUtil


 *

Description:


 *

Company: www.itcast.com

 
 * @author 入云龙
 * @date 2015年7月29日下午8:11:51
 * @version 1.0
 */
public class FtpUtil {


/** 
* Description: 向FTP服务器上传文件 
* @param host FTP服务器hostname 
* @param port FTP服务器端口 
* @param username FTP登录账号 
* @param password FTP登录密码 
* @param basePath FTP服务器基础目录
* @param filePath FTP服务器文件存放路径。例如分日期存放:/2015/01/01。文件的路径为basePath+filePath
* @param filename 上传到FTP服务器上的文件名 
* @param input 输入流 
* @return 成功返回true,否则返回false 
*/  
public static boolean uploadFile(String host, int port, String username, String password, String basePath,
String filePath, String filename, InputStream input) {
boolean result = false;
FTPClient ftp = new FTPClient();
try {
int reply;
ftp.connect(host, port);// 连接FTP服务器
// 如果采用默认端口,可以使用ftp.connect(host)的方式直接连接FTP服务器
ftp.login(username, password);// 登录
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return result;
}
//切换到上传目录
if (!ftp.changeWorkingDirectory(basePath+filePath)) {
//如果目录不存在创建目录
String[] dirs = filePath.split("/");
String tempPath = basePath;
for (String dir : dirs) {
if (null == dir || "".equals(dir)) continue;
tempPath += "/" + dir;
if (!ftp.changeWorkingDirectory(tempPath)) {
if (!ftp.makeDirectory(tempPath)) {
return result;
} else {
ftp.changeWorkingDirectory(tempPath);
}
}
}
}
//设置上传文件的类型为二进制类型
ftp.setFileType(FTP.BINARY_FILE_TYPE);
//上传文件
if (!ftp.storeFile(filename, input)) {
return result;
}
input.close();
ftp.logout();
result = true;
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException ioe) {
}
}
}
return result;
}

/** 
* Description: 从FTP服务器下载文件 
* @param host FTP服务器hostname 
* @param port FTP服务器端口 
* @param username FTP登录账号 
* @param password FTP登录密码 
* @param remotePath FTP服务器上的相对路径 
* @param fileName 要下载的文件名 
* @param localPath 下载后保存到本地的路径 
* @return 
*/  
public static boolean downloadFile(String host, int port, String username, String password, String remotePath,
String fileName, String localPath) {
boolean result = false;
FTPClient ftp = new FTPClient();
try {
int reply;
ftp.connect(host, port);
// 如果采用默认端口,可以使用ftp.connect(host)的方式直接连接FTP服务器
ftp.login(username, password);// 登录
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return result;
}
ftp.changeWorkingDirectory(remotePath);// 转移到FTP服务器目录
FTPFile[] fs = ftp.listFiles();
for (FTPFile ff : fs) {
if (ff.getName().equals(fileName)) {
File localFile = new File(localPath + "/" + ff.getName());


OutputStream is = new FileOutputStream(localFile);
ftp.retrieveFile(ff.getName(), is);
is.close();
}
}


ftp.logout();
result = true;
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException ioe) {
}
}
}
return result;
}

public static void main(String[] args) {
try {  
       FileInputStream in=new FileInputStream(new File("D:\\temp\\image\\gaigeming.jpg"));  
       boolean flag = uploadFile("192.168.25.133", 21, "ftpuser", "ftpuser", "/home/ftpuser/www/images","/2015/01/21", "gaigeming.jpg", in);  
       System.out.println(flag);  
   } catch (FileNotFoundException e) {  
       e.printStackTrace();  
   }  
}
}

你可能感兴趣的:(jQuery-easyui)