`
fangzhen51236
  • 浏览: 6600 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

java图片处理并上传ftp

阅读更多
在手机应用或者网站开发中,很多情况我们需要将图片或文件上传ftp服务器,应用时只需返回一个路径。
第一、如果没有现有的ftp服务器,可以在本机自行搭建一个测试服务器。
第二、如何连接服务器
      创建一个上传服务器类ftpUpload,首先定义ftp服务器的ip,用户的id,密码,和端口,然后创建实例,并将参数附上值,
public FtpUpload() throws IOException {         
              this.ip=this.ip;	     
              this.userId=this.userId;	     
              this.pwd=this.pwd;
	     this.port=this.port;	 }   

第三、上传文件:通过ip和端口连接ftp服务器,验证用户名和密码,判断文件夹是否已经存在,指定工作目录,
     
 public boolean upMyFile(String fileName,InputStream ins){         
		 FTPClient ftpClient = new FTPClient();      
		 ftpClient.setControlEncoding("GBK");     
		 try {           
			 ftpClient.connect(ip, port);            
			 if (!ftpClient.login(userId, pwd)) {                 
				 System.out.println("系统登录不成功!");                 
				 }               
			 DateFormat df = new SimpleDateFormat("yyyyMMdd");            
			 String strDate=df.format(new Date());  
			 
			 if (ftpClient.cwd(strDate) == 250) { // 若返回值为250,说明文件夹已经存在              
				 ftpClient.cwd(strDate); // 指定工作目录   
				 ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
				 if (ftpClient.storeFile(fileName, ins)) {                
					 file=strDate+"/"+fileName;            
				 }else{                
					 return false;            
				 }            
				 ftpClient.logout(); 
				 } else {             
					 ftpClient.makeDirectory(strDate);               
					 ftpClient.cwd(strDate);         
					 ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);            
					 if (ftpClient.storeFile(fileName, ins)) {                
						 file=strDate+"/"+fileName;            
					 }else{                
						 return false;            
					 }            
					 ftpClient.logout();            
				 }
			 } catch (SocketException e) {                
					 e.printStackTrace();                
					 return false;        
			 } catch (IOException e) {                
					 e.printStackTrace();                
					 return false;        
			 }
				 return true;  
			 }   
}


上传类已经写好,然后可以写一个测试程序处理图片并通过上面的类上传
当获得一个MultipartFile型的文件file时,将文件转换成byte数组,如果想把获得的图片大小变成固定的,只需给定相应的宽高
byte[] bytes = null;
             int height = 600;
        	    int width = 800
             bytes = file.getBytes();
				 InputStream buffin = new ByteArrayInputStream(bytes);
				BufferedImage img = ImageIO.read(buffin); 
				 
				

然后new一个上面的ftpUpload上传类,将图片转换成流的形式
FtpUpload ftpUpload=new FtpUpload();
BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_3BYTE_BGR);
	 image.getGraphics().drawImage(img,0,0, width, height, null);
	java.io.ByteArrayOutputStream   output   =   new   java.io.ByteArrayOutputStream(); 
	ImageIO.write(image,   "jpg",   output); 
	byte[]   buff   =   output.toByteArray(); 
	InputStream   in   =   new ByteArrayInputStream(buff);


重新命名图片名称,可以以当前上传时间(yyyyMMddHHmmss)为名
   DateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");            
   String sysTime=df.format(new Date());    	
   ftpUpload.upMyFile(sysTime+".jpg",in);
分享到:
评论

相关推荐

    java实现客户端上传图片到ftp服务器,nginx提供http服务下载图片

    在Java分布式项目中,涉及到客户端上传图片到FTP服务器并由Nginx提供HTTP服务进行图片下载,这是一个典型的文件传输和Web服务集成的场景。这里主要涉及三个关键知识点:Java FTP客户端编程、Nginx服务器配置以及Java...

    java多线程学习-ftp上传

    在这个场景下,Java多线程技术可以用于优化FTP上传的效率,例如通过并发上传多个文件来加速整个过程。 首先,我们来了解一下Java中的线程。在Java中,Thread类是所有线程的基类,通过创建Thread对象并调用其start()...

    java源码 E4A通过FTP上传数据到服务器例程 2018127

    接下来,我们需要设置FTP模式,通常使用二进制模式来上传数据,因为二进制模式可以处理所有类型的数据,包括图片、音频、视频等非文本文件: ```java ftpClient.setFileType(FTP.BINARY_FILE_TYPE); ``` 然后,...

    FTP JAVA工具类(连接FTP,上传文件到FTP,删除FTP文件,下载FTP文件,检索FTP文件)

    本篇文章将详细讲解如何使用Java编写一个FTP工具类,实现连接FTP服务器、上传文件、删除文件、下载文件以及检索文件的功能。 首先,我们需要引入Apache Commons Net库,该库提供了丰富的FTP客户端API。在`pom.xml`...

    Java实现ftp上传程序源代码

    通过理解以上知识点,并参考提供的源代码和实例,开发者可以构建自己的Java FTP上传程序,满足不同场景下的文件上传需求。对于图片上传,可以特别优化文件类型检查和上传流程,确保图片文件的正确传输和保存。

    java实现文件上传到FTP和从FTP下载到本地功能

    本文将详细讲解如何使用Java实现文件上传到FTP服务器以及从FTP服务器下载到本地的功能。 首先,为了实现FTP功能,我们需要引入相关的库。尽管提供的压缩包中没有包含jar文件,但通常我们会使用Apache Commons Net库...

    java多线程ftp 上传下载

    在Java编程中,多线程FTP(File Transfer Protocol)上传和下载是常见的任务,尤其在处理大量文件或者需要并发操作时。在这个场景下,我们通常会利用Java的Apache Commons Net库,它为FTP功能提供了丰富的API。正如...

    java实现FTP服务器

    3. **处理客户端连接**:对于每次连接,服务器创建一个新的`ftpServer`实例,并启动线程处理。 4. **命令解析与响应**: - 用户名与密码验证:接收并验证用户输入的用户名和密码。 - 目录变更:根据`CWD`和`CDUP`...

    java opencv 调用摄像头实现拍照及本地保存 支持上传FTP 路径配置

    本项目聚焦于使用Java和OpenCV库调用摄像头进行拍照,并将拍摄的照片保存到本地,同时支持通过FTP服务上传至远程服务器。下面将详细阐述这个过程中涉及的关键知识点。 1. **Java编程语言**: Java是一种广泛使用的...

    百度ueditor支持本地与FTP上传图片

    图片上传过程中,UEditor会进行图片格式检查、大小限制以及上传进度显示等处理,确保上传过程的顺利进行。 **本地图片上传** 对于本地图片上传,UEditor会在用户选择图片后,通过HTML5的File API将图片数据转换为...

    Java实现图片上传至服务器功能(FTP协议)

    Java实现图片上传至服务器功能(FTP协议) Java实现图片上传至服务器功能是指通过Java语言...通过本文的学习,可以掌握Java图片上传技术和FTP协议的使用。同时,本文的代码实现了FTP协议的功能,可以作为参考代码。

    ftp上传demo

    5. **FTP上传图片**:在FTP上传图片时,需要确保图片文件的格式(如.jpg、.png、.gif等)被服务器支持,并且拥有相应的写入权限。 6. **FTP会话管理**:FTP客户端可以管理多个FTP会话,方便在不同服务器间切换,...

    图片上传到ftp服务器(单一)

    4. **本地文件读取**:使用`java.io`库中的`FileInputStream`打开并读取待上传的图片文件。 5. **上传文件到FTP**:调用`FTPClient`的`storeFile()`方法,将本地文件上传到FTP服务器。参数包括目标文件名和`...

    java Swing 文件批量上传 DEMO 源代码

    在服务器端,通常需要有对应的接口接收并处理这些上传的文件。这个DEMO可能不包括后端部分,但理解如何处理这些文件的后端逻辑也是很重要的,比如存储文件、处理文件名冲突、错误处理等。 此外,考虑到用户体验,...

    springboot以FTP方式上传文件到远程服务器

    后台控制器可以使用 @RequestMapping 注解来映射文件上传的接口,并使用 MultipartFile 对象来处理文件上传。 代码实现: 以下是使用 Spring Boot 实现 FTP 方式上传文件到远程服务器的代码实现: HTML 代码: ...

    上传文件时截取首页图片+上传文件到ftp文件服务器

    标题提到的"上传文件时截取首页图片+上传文件到ftp文件服务器"是一个实用的功能,它结合了文件处理和网络传输两个方面。以下是对这个功能的详细解读: 首先,我们要了解的是“截取首页图片”。在上传文档时,为了...

    上传图片并通过FTP保持下来

    在IT行业中,上传图片并通过FTP(File Transfer Protocol)保持下来是一项常见的任务,尤其在网站管理、内容发布或者数据传输等领域。FTP是一种标准网络协议,用于在客户端和服务器之间进行文件传输。下面我们将深入...

    利用java连接发图片服务器上传下载文件,所需的jar包

    在Java编程中,进行FTP(File Transfer Protocol)服务器的文件上传和下载是常见的任务,尤其在处理文件存储、数据交换等场景。为了实现这个功能,我们需要依赖特定的库,也就是所谓的jar包。根据标题和描述,这里...

    java删除ftp文件.txt

    本文将详细介绍如何通过Java代码实现对FTP服务器上文件的删除操作,并对给出的代码片段进行分析与补充。 #### 二、基础知识 1. **FTP协议简介**: - FTP是一种标准网络协议,用于在计算机网络间进行文件传输。 -...

    java swing opencv调用摄像头实现拍照及本地保存支持上传FTP路径配置

    5. **FTP上传配置**:要支持上传FTP服务器,你需要一个FTP客户端库,如Apache Commons Net。配置FTP服务器的连接参数(如主机名、用户名、密码和端口),然后使用`FTPClient`类建立连接,登录,设置传输模式,上传...

Global site tag (gtag.js) - Google Analytics