zoukankan      html  css  js  c++  java
  • JAVA 关于图片上传的代码 java程序员

    private File file; 
    
    private String fileFileName; 
    private String picture; 
    //都有getter 和 setter 
    
    InputStream is = new FileInputStream(file); 
    //引入一个IO流的输入流
    String root = ServletActionContext.getRequest() 
    .getRealPath("/bookpicture"); 
    //通过REQUEST来得到相对地址,并在后面加上/bookpicture
    
    File f = new File(root, this.getFileFileName()); 
    //定义一个FILE文件,第一个参数是文件的路径,第二个是文件的名字
    
    picture="."+"\\"+"bookpicture"+"\\"+this.getFileFileName();
    //为PICTURE字符串赋值,/地址/文件名 
    System.out.println 
    ("======picture====="+picture); 
    //从控制台输出Picture
    
    OutputStream os = new FileOutputStream(f); 
    //第一个文件的输出流
    
    byte[] buffer = new byte[1024];
    //定义一个bufer的字符串,长度为1024
     
    int len = 0; 
    while ((len = is.read(buffer)) > 0) { 
    //如果从制定文件中读取到的信息为结束就继续循环
    os.write(buffer, 0, len); 
    //将文件读出的内容写入到指定的文件中
    
    }
    
    
    package com;
    
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import javax.servlet.jsp.*;
    import com.jspsmart.upload.*;
    
    
    
    public class uploadfiles extends HttpServlet
    {
    	public void doGet(HttpServletRequest request,HttpServletResponse response)
    					throws ServletException,IOException
    	{
    		//使用了一个第三方的组件,存放在web-inf/lib下
           		response.setContentType("text/html;charset=GB2312");
           	
           		//由于SmartUpload的初始化方法需要pageContext,所以我们在servlet中得到他
           		//为了得到pageConext要首先得到JspFactory的实例
           		//通过JspFactory的实例的getPageContext方法得到pageConext的实例
    		JspFactory jf = null;
    		
    		//得到JspFactory的实例
    		jf=JspFactory.getDefaultFactory();
    				
    		/*
    		getPageContext(Servlet servlet, 
    					   ServletRequest request, 
    					   ServletResponse response, 
    					   java.lang.String errorPageURL, 
    					   boolean needsSession, 
    					   int buffer, 
    					   boolean autoflush)
           	*/       	
    		PageContext pageContext=jf.getPageContext(this,request,response,null,true,8192,true);
    		
    		try
    		{
    			//实例化SmartUpload
    			SmartUpload mySmartUpload=new SmartUpload();
    			
    			//初始化SmartUpload的实例,需要PageContext的实例
    			mySmartUpload.initialize(pageContext);
    			
    			//设定最大上传的字节数,其实可以不进行设定,表示上传的文件没有大小限制
    			//mySmartUpload.setTotalMaxFileSize(10000000);
    			mySmartUpload.upload();
    			
    			//下面是单文件上传
    			//上传的文件以com.jspsmart.upload.File 代表,如果文件名称重复,则进行覆盖
    			com.jspsmart.upload.File file=mySmartUpload.getFiles().getFile(0);
    			String upLoadFileName=file.getFileName();
    			
    			//调用com.jspsmart.upload.File实例的saveas的方法保存文件,此时的文件名即是
    			//保存到服务器上的文件名
    			file.saveAs("/upload/"+upLoadFileName);
    			Request req = 
    			Text t = .....;
    			t.setUpload(upLoadFileName);
    			t.set.....(req);
    		}
    		catch(SmartUploadException e)
    		{
    			System.out.println(e.getMessage());
    		}
    
    		
    	
    	}
    	protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, java.io.IOException
    	{
    		doGet(request,response);
    	}
    }

    
    
    
    
    
    
  • 相关阅读:
    MySQL数据库设计规范
    Docker安装redis
    Go-用本地时间解析时间字符串
    Docker安装mysql
    docker安装es
    Json官网文档
    leetcode题目和解答集合
    76. 最小覆盖子串
    165. 比较版本号
    958. 二叉树的完全性检验
  • 原文地址:https://www.cnblogs.com/java20130725/p/3215734.html
Copyright © 2011-2022 走看看