那个JSP页面有问题,upload_json.jsp,入如果使用Struts2的话,就报错1.

//文件保存目录路径

//D:\Tomcat6.0\webapps\zswz\attached/

String savePath = request.getSession().getServletContext().getRealPath("/") + "kindeditor/attached/";

//文件保存目录URL /zswz/attached/

String saveUrl = request.getContextPath() + "/kindeditor/attached/";

//定义允许上传的文件扩展名

//定义允许上传的文件扩展名

HashMap 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,txt,zip,rar,gz,bz2");

//允许最大上传文件大小 struts.xml struts.multipart.maxSize=3G

long maxSize = 3000000000l;

response.setContentType("text/html; charset=UTF-8");

if(!ServletFileUpload.isMultipartContent(request)){

out.println(getError("请选择文件。"));

return;

}

//检查目录

File uploadDir = new File(savePath);

if(!uploadDir.isDirectory()){

out.println(getError("上传目录不存在。"));

return;

}

//检查目录写权限

if(!uploadDir.canWrite()){

out.println(getError("上传目录没有写权限。"));

return;

}

String dirName = request.getParameter("dir");//image

if (dirName == null) {

dirName = "image";

}

if(!extMap.containsKey(dirName)){

out.println(getError("目录名不正确。"));

return;

}

//创建文件夹

savePath += dirName + "/";//D:\Tomcat6.0\webapps\zswz\attached/image/

saveUrl += dirName + "/";///zswz/attached/image/

File saveDirFile = new File(savePath);

if (!saveDirFile.exists()) {

saveDirFile.mkdirs();

}

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");

String ymd = sdf.format(new Date());

savePath += ymd + "/";//D:\Tomcat6.0\webapps\zswz\attached/image/20111129/

saveUrl += ymd + "/";///zswz/attached/image/20111129/

File dirFile = new File(savePath);

if (!dirFile.exists()) {

dirFile.mkdirs();

}

if (!dirFile.isDirectory()) {

out.println(getError("上传目录不存在 。"));

return;

}

//检查目录写入权限

if (!dirFile.canWrite()) {

out.println(getError("上传目录没有写入权限。"));

return;

}

//Struts2 请求 包装过滤器

MultiPartRequestWrapper wrapper = (MultiPartRequestWrapper) request;

//获得上传的文件名

String fileName = wrapper.getFileNames("imgFile")[0];//imgFile,imgFile,imgFile

//获得文件过滤器

File file = wrapper.getFiles("imgFile")[0];

//检查扩展名

String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();

if(!Arrays.asList(extMap.get(dirName).split(",")).contains(fileExt)){

out.println(getError("上传文件扩展名是不允许的扩展名。\n只允许" + extMap.get(dirName) + "格式。"));

return;

}

//检查文件大小

if (file.length() > maxSize) {

out.println(getError("上传文件大小超过限制。"));

return;

}

//重构上传图片的名称

SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");

String newImgName = df.format(new Date()) + "_"

+ new Random().nextInt(1000) + "." + fileExt;

byte[] buffer = new byte[1024];

//获取文件输出流

FileOutputStream fos = new FileOutputStream(savePath +"/" + newImgName);

//获取内存中当前文件输入流

InputStream in = new FileInputStream(file);

try {

int num = 0;

while ((num = in.read(buffer)) > 0) {

fos.write(buffer, 0, num);

}

} catch (Exception e) {

e.printStackTrace(System.err);

} finally {

in.close();

fos.close();

}

//发送给 KE

JSONObject obj = new JSONObject();

obj.put("error", 0);

obj.put("url", saveUrl +"/" + newImgName);

///zswz/attached/image/20111129/ image 20111129195421_593.jpg

out.println(obj.toJSONString());

%>

private String getError(String message) {

JSONObject obj = new JSONObject();

obj.put("error", 1);

obj.put("message", message);

return obj.toJSONString();

}

%>

php可以改jsp吗,把默认的php路径改成jsp相关推荐

  1. html页面改成jsp后IE和360浏览器不兼容问题

    页面设计提供的页面时html形式的,我们必须把html转为jsp.让人头痛的问题来了,每次在我把html转成jsp之后总出现在ie和360浏览器中部分样式不能显示的问题,具体表现为本来页面改居中显示的 ...

  2. MyEclipse使用总结——在MyEclipse中设置jsp页面为默认utf-8编码

    在MyEclispe中创建Jsp页面,Jsp页面的默认编码是"ISO-8859-1",如下图所示: 在这种编码下编写中文是没有办法保存Jsp页面的,会出现如下的错误提示: 因此可以 ...

  3. 转】MyEclipse使用总结——在MyEclipse中设置jsp页面为默认utf-8编码

    原博文出自于:http://www.cnblogs.com/xdp-gacl/p/3496161.html 感谢! 在MyEclispe中创建Jsp页面,Jsp页面的默认编码是"ISO-88 ...

  4. Tips--更改Jupyter Notebook的默认工作路径

    更改Jupyter Notebook的默认工作路径 1. 寻找配置文件路径 2. 修改Jupyter配置文件 3. 更改Jupyter Notebook快捷方式属性 Jupyter Notebook默 ...

  5. android 12去掉屏幕锁屏(屏幕默认锁屏方式改成无)

    需求:在11.0 12.0定制化开发中,需求要求去掉屏幕锁屏功能,默认无锁屏功能,所以要去掉系统默认锁屏功能 一共分两步: a.在SettingProvider数据库加载时默认无锁屏 b.去掉Sett ...

  6. android7.0 8.1 9.0 10.0 去掉屏幕锁屏(屏幕默认锁屏方式改成无)

    1.概述 在10.0的系统产品开发中,系统在开机后会默认进入锁屏界面,但是产品需求要求去掉锁屏方式,默认无锁屏,就是需要实现去掉屏幕锁屏功能 2.去掉屏幕锁屏(屏幕默认锁屏方式改成无)的核心类 fra ...

  7. 将电脑新建文本文档txt的默认编码从ANSI改为utf-8

    一般程序猿们开始码字的时候,习惯了新建PHP或者html文件都是先新建一个txt文档然后改名字和后缀,但是windows默认新建文档为ANSI编码的,这个让我很惆怅,每次都需要我们自己手动转码,那到底 ...

  8. php isapi模式,将php默认的FastCGI模式改成ISAPI模式

    将php默认的FastCGI模式改成ISAPI模式 一,下载PHP的ZIP文件包:http://7i24.com/system/dl/,也可以去www.php.net中下载.注意版本要对应. 二,将s ...

  9. eclipse——新建JSP页面为默认模板的设置

    eclipse--新建JSP页面为默认模板的设置 1.当我们没有设置模板的时候,那么系统一般会自动成成的,如下图: 那么此时这个页面有可能不是我们要的,那么就要设置jsp模板 2.设置jsp模板步骤 ...

最新文章

  1. 深入netty源码解析之一数据结构
  2. python3 正则表达式 嵌套表格_在Python中将嵌套结构与正则表达式匹配
  3. 语音信号处理之(一)动态时间规整(DTW)
  4. 设置一个DIV固定在底部,并且左右固定,垂直居中
  5. 管理之道(三) - 不要吝惜赞美
  6. ROS仿真-记一次错误 gazebo-2 process has died exit code 2
  7. python字典中的键是什么_在python字典中作为键的对象
  8. mysql 比较一个字符串_比较MySQL中的两个字符串?
  9. HLG 数字去重和排序II【二叉排序树】
  10. JAVA 基础 / 第八课:面向对象 / JAVA类的方法与实例方法
  11. python下载pps视频
  12. C语言打印ASCII码
  13. Windows 序列号查看
  14. 嵌入式linux触摸屏校正命令,[转]基于嵌入式Linux的通用触摸屏校准程序
  15. Win11系统一些功能修改并不令人满意,盘点不尽人意之处
  16. xfce-因为面板在 kiosk 模式下运行,所以不允许作为普通用户的您更改面板配置
  17. ArcGIS专题制图(一):制图中如何给图层增加阴影立体效果
  18. fabric1.4.3单机环境搭建教程(四)
  19. IDEA 编译项目时报:java.lang.OutOfMemoryError:GC overhead limit exceeded
  20. 如何快速掌握正确的UI配色方案?6种技巧不容错过!

热门文章

  1. 这可能是国内首款5G手机了!中兴AXON 10 Pro 5G上市定档
  2. 突然!华为P30 Pro真机上手视频曝光:屏幕指纹解锁秒开
  3. 当拼多多开始打假 那么多“拼多多买家秀”竟都是假的?
  4. 乔布斯诞辰64周年 库克发文纪念:我们每一天都怀念他
  5. 不能忍!世界首富贝索斯发博文称遭”不雅照”威胁
  6. redis连接被拒绝
  7. java怎么从大到小排序元祖_在java中对元组列表进行排序的有效方法
  8. Android常用代码混淆模板
  9. 百度初级认证有用吗_知乎“打败”了百度知道吗?
  10. python怎么向列表中添加内容_Python中向List添加元素方法