public ActionForward upload(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws IOException {
FileForm fileForm = (FileForm) form;
FormFile file1 = fileForm.getFile1();
HashMap<String, Object> jsonMap = new HashMap<String, Object>();
boolean success = false;
String message = "";
String fileURL = "";
int width = 0;
int height = 0;
if (file1 != null) {
//上传路径
String dir = request.getSession(true).getServletContext().getRealPath("/uploadFile");
OutputStream fos = null;
try {
// 获得文件后缀
String type = file1.getFileName().substring(file1.getFileName().lastIndexOf("."),
file1.getFileName().length());
BufferedImage bi = ImageIO.read(file1.getInputStream());
// System.out.println("Width=" + bi.getWidth());
// System.out.println("Height=" + bi.getHeight());
width = bi.getWidth();
height = bi.getHeight();
// 获取当前时间
Calendar c = Calendar.getInstance();
c.setTime(new Date());
String time = "" + c.get(c.YEAR) + (c.get(c.MONTH) + 1) + c.get(c.DATE) + c.get(c.HOUR_OF_DAY)
+ c.get(c.MINUTE) + c.get(c.SECOND);
String newname = time + type;
fileURL = "uploadFile/" + newname;
fos = new FileOutputStream(dir + "/" + newname);
fos.write(file1.getFileData(), 0, file1.getFileSize());
fos.flush();
success = true;
message = "图片上传成功";
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
success = false;
message = "图片上传失败";
} finally {
try {
fos.close();
} catch (Exception e) {
success = false;
message = "图片上传失败";
}
}
}
jsonMap.put("success", success);
jsonMap.put("message", message);
jsonMap.put("fileURL", fileURL);
jsonMap.put("width", width);
jsonMap.put("height", height);
String json = Convert.mapTojson(jsonMap).toString();
// 设置响应内容格式
response.setContentType("text/html;charset=utf-8");
// 获取流
PrintWriter out = response.getWriter();
// 将数据以json格式打到客户端
out.print(json);
// 清空缓存
out.flush();
// 关闭流
out.close();
//页面跳转
return null;
}
主要利用BufferedImage类获取图片的高度和宽度
分享到:
相关推荐
本文将详细介绍Java实现图片角度旋转并获得图片信息的过程,以及旋转过程中所涉及的关键概念和方法。 首先,我们要了解Java中的图像处理库是如何工作的。在Java的标准库中,BufferedImage类是用来表示图片的主要类...
Java中图片压缩处理是一项重要的技术手段,尤其在Web应用中,用户上传图片时往往需要对其进行压缩以减小文件体积,从而节省存储空间和减少网络传输时间。本文将详细介绍Java中实现图片压缩的方法,包括相关的技术...
总结来说,“上传图片 - 等比缩放”涉及图片上传、读取、等比缩放、裁剪、保存和返回结果等多个步骤。通过合理运用编程语言和图像处理库,我们可以高效地生成符合特定尺寸需求的等比缩略图,以满足各种应用场景的...
在Java编程环境中,处理视频时长和截取视频封面是一项常见的任务,特别是在开发多媒体应用程序或者视频处理服务时。本教程将详细介绍如何利用Java实现这两个功能。 首先,我们要明白,Java本身并不直接支持视频处理...
利用AJAX,文件输入输出流实现 图片的简单上传功能 内含1份Java代码 2份JSP代码 //判断文件夹image是否存在,若不存在则创建 部分代码 File folder = new File(imgFolderPath); System.out.println("function '...
标题和描述中提到的知识点主要集中在如何在Java程序中调用TSC条码打印机的DLL(动态链接库)。通过文档提供的内容,可以了解到以下关键信息: 1. **TSC条码打印机的DLL接口**:文档中定义了与TSC条码打印机进行交互...
在本文中,我们将深入探讨如何使用Element UI库来实现图片上传至本地服务器的功能。Element UI 是一套基于 Vue.js 的开源组件库,它提供了丰富的界面组件,包括上传组件 `el-upload`,非常适合构建企业级的 Web 应用...
* 从图库获得照片 */ protected void getImageFromAlbum() { isImgs = true; Intent intent = new Intent(Intent.ACTION_PICK); intent.setType("image/*"); // 相片类型 intent.putExtra("aspectX", 1); // ...
// 默认输出图片宽 private int outputHeight = 100; // 默认输出图片高 private boolean proportion = true; // 是否等比缩放标记(默认为等比缩放) public CompressPic() { // 初始化变量 inputDir = ""; ...
"upload"目录则是用户上传图片的存储位置,确保了用户作品的安全和管理。而"Update2.0F2"则可能是针对v2.0版本的更新补丁或升级包,用于修复潜在问题和添加新功能。 总的来说,PaintBlue BBS v2.0 Final2是一款专为...
接下来,在JavaScript部分,我们可以初始化Cropper对象,设置相关配置,如宽高比例、旋转角度等。以下是一个基本示例: ```javascript $(document).ready(function() { var $image = $('#image'); var cropper = ...
基于Java的Android应用程序开发-24点游戏源码+详细项目说明.zip 基于Java的Android应用程序...layout_width以及layout_height,分别设置view的宽高;gravity指定当文本小于视图时如何通过视图的 x 和/或 y 轴对齐文本
将选中头像的矩形框在图片上的坐标发送到服务器,包括,矩形框的宽,高,左上角的x,y坐标,图片的高,宽等 3.在服务器上用获得的各个坐标值,以及原始图片,用JAVA进行裁剪。 ———————————– jquery 裁剪...
在Java Web开发中,使用富文本编辑器可以让用户在网页上方便地编辑和格式化文本。Ueditor是一款广泛使用的开源富文本编辑器,它提供...这样,用户就能在你的应用中享受到便捷的富文本编辑体验,同时也能顺利上传图片。
在Android开发中,系统拍照和裁剪照片是常见的功能需求,尤其在涉及到用户头像设置、上传图片等场景。下面将详细讲解如何实现这一过程。 首先,我们需要在AndroidManifest.xml文件中添加相机和读写存储的权限: ``...