`
379548695
  • 浏览: 155587 次
  • 性别: Icon_minigender_1
  • 来自: 河南郑州
社区版块
存档分类
最新评论

java 上传图片同时获得图片的宽和高

    博客分类:
  • java
 
阅读更多

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中的图像处理库是如何工作的。在Java的标准库中,BufferedImage类是用来表示图片的主要类...

    Java中上传图片压缩处理的方法示例

    Java中图片压缩处理是一项重要的技术手段,尤其在Web应用中,用户上传图片时往往需要对其进行压缩以减小文件体积,从而节省存储空间和减少网络传输时间。本文将详细介绍Java中实现图片压缩的方法,包括相关的技术...

    上传图片 - 等比缩放

    总结来说,“上传图片 - 等比缩放”涉及图片上传、读取、等比缩放、裁剪、保存和返回结果等多个步骤。通过合理运用编程语言和图像处理库,我们可以高效地生成符合特定尺寸需求的等比缩略图,以满足各种应用场景的...

    视频时长和截取视频封面(Java)

    在Java编程环境中,处理视频时长和截取视频封面是一项常见的任务,特别是在开发多媒体应用程序或者视频处理服务时。本教程将详细介绍如何利用Java实现这两个功能。 首先,我们要明白,Java本身并不直接支持视频处理...

    图片上传JSP代码

    利用AJAX,文件输入输出流实现 图片的简单上传功能 内含1份Java代码 2份JSP代码 //判断文件夹image是否存在,若不存在则创建 部分代码 File folder = new File(imgFolderPath); System.out.println("function '...

    TSC条码打印机java调用.pdf

    标题和描述中提到的知识点主要集中在如何在Java程序中调用TSC条码打印机的DLL(动态链接库)。通过文档提供的内容,可以了解到以下关键信息: 1. **TSC条码打印机的DLL接口**:文档中定义了与TSC条码打印机进行交互...

    使用elementUI实现将图片上传到本地的示例

    在本文中,我们将深入探讨如何使用Element UI库来实现图片上传至本地服务器的功能。Element UI 是一套基于 Vue.js 的开源组件库,它提供了丰富的界面组件,包括上传组件 `el-upload`,非常适合构建企业级的 Web 应用...

    Android从相册选择图片剪切和上传

    * 从图库获得照片 */ 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 = ""; ...

    PaintBlue BBS v2.0 Final2 简体中文版

    "upload"目录则是用户上传图片的存储位置,确保了用户作品的安全和管理。而"Update2.0F2"则可能是针对v2.0版本的更新补丁或升级包,用于修复潜在问题和添加新功能。 总的来说,PaintBlue BBS v2.0 Final2是一款专为...

    实例 使用PHP+Cropperjs对图片进行裁剪并保存.zip

    接下来,在JavaScript部分,我们可以初始化Cropper对象,设置相关配置,如宽高比例、旋转角度等。以下是一个基本示例: ```javascript $(document).ready(function() { var $image = $('#image'); var cropper = ...

    基于Java的Android应用程序开发-24点游戏源码+详细项目说明.zip

    基于Java的Android应用程序开发-24点游戏源码+详细项目说明.zip 基于Java的Android应用程序...layout_width以及layout_height,分别设置view的宽高;gravity指定当文本小于视图时如何通过视图的 x 和/或 y 轴对齐文本

    jquery实现图片裁剪思路及实现

    将选中头像的矩形框在图片上的坐标发送到服务器,包括,矩形框的宽,高,左上角的x,y坐标,图片的高,宽等 3.在服务器上用获得的各个坐标值,以及原始图片,用JAVA进行裁剪。 ———————————– jquery 裁剪...

    在jsp中使用Ueditor.docx

    在Java Web开发中,使用富文本编辑器可以让用户在网页上方便地编辑和格式化文本。Ueditor是一款广泛使用的开源富文本编辑器,它提供...这样,用户就能在你的应用中享受到便捷的富文本编辑体验,同时也能顺利上传图片。

    android中系统拍照裁剪照片

    在Android开发中,系统拍照和裁剪照片是常见的功能需求,尤其在涉及到用户头像设置、上传图片等场景。下面将详细讲解如何实现这一过程。 首先,我们需要在AndroidManifest.xml文件中添加相机和读写存储的权限: ``...

Global site tag (gtag.js) - Google Analytics