• 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);
    	}
    }

    
    
    
    
    
    
  • 相关阅读:
    Windows 2008 server + IIS 7 设置身份模拟(ASP.NET impersonation)
    记录windows操作系统启动日志
    C# 重启计算机的问题
    AcWing 1086 恨7不是妻
    AcWing 1084. 数字游戏 II
    AcWing 1083. Windy数
    golang学习笔记 生成JSON及解析JSON 清明
    WEB前端底层知识之浏览器是如何工作的(2)渲染引擎
    ASP.NET MVC Razor 输出没有编码的HTML字符串
    ext.grid的配置属性和方法
  • 原文地址:https://www.cnblogs.com/java20130725/p/3215734.html
Copyright © 2020-2023  润新知