`

java本地下载上传图片

    博客分类:
  • java
阅读更多
一、本地的一个下载url图片并上传在本地
//生成图片路径,图片类型
	protected String changeImagePath(String imagepath, String createDir, ImgImages imgImages,int siteId) {
		String path = imagepath;
		int index = path.lastIndexOf("/");
		//图片名+后缀
        String imageNameAndEndsWith = path.substring(index+1, path.length());
        imgImages.setOriginalName(imageNameAndEndsWith);
        //图片名称
        String imageName = imageNameAndEndsWith.substring(0, imageNameAndEndsWith.lastIndexOf("."));
        imgImages.setImgName(imageName);
        String imageEndsWith = imageNameAndEndsWith.substring(imageNameAndEndsWith.lastIndexOf("."), imageNameAndEndsWith.length());
        
        //图片类型
        String imageType = imageEndsWith.substring(imageEndsWith.lastIndexOf(".")+1, imageEndsWith.length());
        imgImages.setImgType(imageType);
        //判断是否包含指定的后缀
        if (!imgsEndsWith.contains(imageEndsWith.toLowerCase())) {
        	if (logger.isDebugEnabled()) {
				logger.debug("Image suffix is invalid");
			}
        	throw new RuntimeException("Image suffix is invalid");
        }
       
        //Date date = new Date();
	    //SimpleDateFormat fs = new SimpleDateFormat("yyyy/M/d");
	    //String formatDate = fs.format(date);
        //开始拼写图片库中图片路径格式  如:/img/2013/3/7/25/6618496.jpg
        Calendar calendar = Calendar.getInstance();
	    StringBuilder strBuilder = new StringBuilder();
	    //strBuilder.append(createDir);//图片目录
	    strBuilder.append("/");
	    strBuilder.append(calendar.get(Calendar.YEAR));//年
	    strBuilder.append("/");
	    strBuilder.append(siteId);//站点id
	    strBuilder.append("/");
	    int month  = calendar.get(Calendar.MONTH)+1;
	    strBuilder.append(month);//月
	    strBuilder.append("/");
	    strBuilder.append(calendar.get(Calendar.DAY_OF_MONTH));//日
	    strBuilder.append("/");
	    //开始创建目录
	    File file = new File(createDir+strBuilder.toString());
	    if (!file.exists()) {
	    	file.mkdirs();
	    }
	    strBuilder.append(imgImages.getId()-1);//图片名称为图片id-1
	    //strBuilder.append(UUID.randomUUID());
	    strBuilder.append(imageEndsWith);//图片后缀格式
	    imgImages.setImgPath(strBuilder.toString());
	    
		return strBuilder.toString();
	}

//下载图片
protected File imageDownload(String interUrl, String newImgPath) throws IOException {
		OutputStream os = null;
		InputStream is = null;
		File outFile = null;
		try{
			URL url = new URL(interUrl);
			outFile = new File(newImgPath);
			os = new FileOutputStream(outFile);
			is = url.openStream();
			byte[] buff = new byte[9024];
			//从指定 url下载图片
			while(true) {
				int readed = is.read(buff);
				if(readed == -1) {
					break;
				}
				byte[] temp = new byte[readed];
				System.arraycopy(buff, 0, temp, 0, readed);
				os.write(temp);
			}
			return outFile;
		} finally {
			if (is != null) {
				try {
					is.close();
				} catch (IOException e) {
					if (logger.isDebugEnabled()) {
						logger.debug("InputStream close exception ...");
					}
				}
			}
			if (os != null) {
				try {
					os.close();
				} catch (IOException e) {
					if (logger.isDebugEnabled()) {
						logger.debug("OutputStream close exception ...");
					}
				}
			}
		}
	}

//获取图片大小,尺寸
	protected void getImageProerty(File picture, ImgImages imgImages) throws FileNotFoundException, IOException {
        BufferedImage sourceImg;
		sourceImg = ImageIO.read(new FileInputStream(picture.getAbsolutePath()));
		int imageSize = (int)(picture.length()/1024);  
        int imageWidth = sourceImg.getWidth();  
        int imageHeight = sourceImg.getHeight();
        //sourceImg.flush();
        imgImages.setImgSize(imageSize);
        imgImages.setImgWidth(imageWidth);
        imgImages.setImgHeight(imageHeight);
	}
分享到:
评论

相关推荐

    Java+mysql本地图片上传数据库及下载示例

    代码中定义了类`Test1`,包含了两个静态方法:`shangchuan()`用于上传图片,`xiazai()`用于下载图片。 1. **图片上传到数据库**: - 首先,我们需要加载MySQL的JDBC驱动,并建立与数据库的连接。这通过`Class.for...

    Java实现图片上传

    在图片上传过程中,客户端通常会先将图片文件保存到本地,然后通过HTTP请求将其发送到服务器。在服务器端,我们需要使用File类来接收并处理这些文件。 接着,我们讨论HTTP请求中的Multipart编码。当上传文件时,...

    java实现图片下载和上传.zip

    4. 安全检查:对上传的文件进行类型检查,防止恶意文件上传,例如只允许上传图片文件。 以上就是关于“java实现图片下载和上传.zip”项目中的核心知识点,包括Spring、SpringMVC、MyBatis、Commons-FileUpload和...

    java上传图片至服务器并且返回下载URL

    总结来说,实现"java上传图片至服务器并且返回下载URL"的功能,主要涉及HTTP文件上传、文件存储、路径管理、响应处理和安全性控制等多个方面,结合Servlet、Spring等相关技术可以有效地完成这一任务。在开发过程中,...

    java实现cos上传与下载

    Java实现COS(Cloud Object Storage)上传与下载是云计算服务中的常见操作,主要涉及对象存储的概念、Java SDK的使用以及文件I/O操作。COS通常由云服务提供商提供,用于存储大量的非结构化数据,如图片、视频、文档...

    JAVA通过HttpURLConnection 上传和下载文件的方法

    JAVA通过HttpURLConnection上传和下载文件的方法 JAVA通过HttpURLConnection上传和下载文件的方法是非常有实用价值的,需要的朋友可以参考下。HttpURLConnection是一个Java类,用于从网络中读取数据或向网络中写入...

    Java开发之文本编辑器TinyMCE-含上传本地图片

    #### 三、TinyMCE编辑器本地上传图片功能 默认情况下,TinyMCE不支持直接上传本地图片到服务器的功能。为了解决这个问题,需要进行额外的配置和编程工作。 ##### 3.1 集成uploadimage插件 - 在`./tinymce/js/...

    java上传图片到aws s3

    java上传图片到aws s3,最近因为项目原因,需要将程序下载到本地的图片上传到aws s3提供给国外的客户使用,文件为我使用的详细代码

    图片上传下载Java

    在Java开发中,图片上传和下载是常见的功能需求,尤其在构建Web应用或者移动应用时。这个"图片上传下载Java"项目提供了一个简单的示例,适用于在MyEclipse环境中快速集成到你的项目中。下面我们将深入探讨这个领域的...

    Java对Samba进行上传与下载文件-jcifs

    Java对Samba进行上传与下载文件的技术主要涉及Java编程、Samba服务器以及jcifs库的使用。Samba是一个开源软件,允许Linux/Unix系统与Windows系统之间进行文件共享,而jcifs是Java的一个库,它提供了对SMB(Server ...

    java多图片上传、删除、预览,post提交

    在Java开发中,图片上传、删除和预览是常见的功能需求,尤其是在Web应用中。这里我们探讨的是如何利用Java和layui插件实现这些功能,并通过POST方法将数据提交到服务端。layui是一款流行的前端UI框架,它提供了丰富...

    java实现上传图片存入到数据库

    在Java编程中,将图片上传并存储到数据库是一项常见的任务,尤其在开发Web应用时。这一过程涉及到文件处理、数据库操作以及可能的图像处理。以下是对这个主题的详细阐述: 首先,我们需要理解基本的文件上传流程。...

    java实现上传文件到oss(阿里云)功能示例

    * @param filePathName 本地图片路径 * @param savePathName 将要保存到 OSS 的路径地址 */ public String uploadFile(String filePathName, String savePathName); } ``` 四、AliyunUploadVersion1 实现类 ...

    java 图片上传,可预览可剪切可缩放

    在Java开发中,图片上传、预览、剪切和缩放是常见的功能需求,尤其在Web应用中。这里,我们主要探讨如何实现这些功能,并基于`swfupload`这个库来构建一个完整的解决方案。 首先,`swfupload`是一个古老的Flash上传...

    java 批量上传图片

    在Java编程环境中,批量上传图片是一项常见的任务,特别是在构建Web应用程序或者处理大量媒体资源时。这个过程涉及到文件I/O操作、多线程处理、网络通信等多个技术领域。下面将详细阐述实现这一功能所需的关键知识点...

    JAVA图片上传demo.rar

    5. **安全考虑**:上传图片时必须考虑安全性问题,如防止恶意文件上传、防止路径遍历攻击等。可以通过验证文件类型、大小,甚至进行病毒扫描来确保安全。 6. **错误处理**:良好的错误处理机制是必不可少的,比如当...

    Java实现文件与图片的上传下载---3种方式

    在Java开发中,文件和图片的上传下载是常见的功能需求,尤其在Web应用中更是必不可少。本篇文章将探讨三种不同的实现方法:JSP+Servlet、smartUpload库以及Apache的FileUpload组件。 首先,我们来看第一种方法:JSP...

    java MongoDB上传下载(图片,txt等大文件)

    由于MongoDB的版本3.3之后,原来的GridFS的getDB()已经被废除了,所以自己花费了梁哥小时,写了GridFSBucket的方法,试下按照文件名和ObjectID的下载方法!希望对你们有用!

    本地上传图片到服务器,代码简单易懂

    在IT行业中,本地上传图片到服务器是一项常见的任务,特别是在开发Web应用、移动应用或任何需要用户上传内容的系统时。本篇文章将详细讲解如何通过Java编程语言实现这一功能,主要涉及图片文件的读取、数据流处理...

    基于OkHttp3封装的Java上传下载.zip

    通过以上步骤,我们便能够使用OkHttp3实现在Java中对文件的上传和下载。这个过程涉及到网络I/O、流处理和错误处理等核心概念,对于理解Java网络编程有着重要的实践意义。在实际应用中,可能还需要考虑更多细节,如...

Global site tag (gtag.js) - Google Analytics