jsp 上传文件

_吹雪_ 2015-01-11 08:02:52
请问大家在jsp中上传文件都是怎么上传的?是用框架里现成模块还是自己手写代码上传?
...全文
152 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
_吹雪_ 2015-01-14
  • 打赏
  • 举报
回复
引用 2 楼 magi1201 的回复:
用框架的,commons-fileupload 组件或servlet 或 struts 都有自己的文件上传 直接套用就是了 servlet 3.0 的文件上传

<center>  
    <form action="sf" enctype="multipart/form-data" method="get">  
        username: <input type="text" name="username" /><br>  
        file: <input type="file" name="filename" /><br>  
        <input type="submit" value="Submit" />  
    </form>  
</center>  
后台代码

Enumeration<String> heads = request.getHeaderNames();  
          
        while (heads.hasMoreElements()) {  
            String header = heads.nextElement();  
            System.out.println(header + "=" + request.getHeader(header));  
        }  
        Part part = request.getPart("filename");  
        Collection<String> headerNames = part.getHeaderNames();  
          
        for (String header : headerNames) {  
            System.out.println(header + "=" + part.getHeader(header));  
        }  
        InputStream is = part.getInputStream();  
        String filename = new String(getFilename(part).getBytes(), "UTF-8");  
        File file = new File("D:\\fileupload");  
        if (!file.exists() || !file.isDirectory()) {  
            file.mkdir();  
        }  
          
        FileOutputStream fos = new FileOutputStream(new File(file + File.separator + filename));  
        byte[] buf = new byte[1024];  
        while (is.read(buf) != -1) {  
            fos.write(buf);  
        }  
        fos.flush();  
        fos.close();  
        is.close();  
参考 http://blog.csdn.net/magi1201/article/details/41362857
谢谢
姜小白- 2015-01-12
  • 打赏
  • 举报
回复
用框架的,commons-fileupload 组件或servlet 或 struts 都有自己的文件上传 直接套用就是了 servlet 3.0 的文件上传

<center>  
    <form action="sf" enctype="multipart/form-data" method="get">  
        username: <input type="text" name="username" /><br>  
        file: <input type="file" name="filename" /><br>  
        <input type="submit" value="Submit" />  
    </form>  
</center>  
后台代码

Enumeration<String> heads = request.getHeaderNames();  
          
        while (heads.hasMoreElements()) {  
            String header = heads.nextElement();  
            System.out.println(header + "=" + request.getHeader(header));  
        }  
        Part part = request.getPart("filename");  
        Collection<String> headerNames = part.getHeaderNames();  
          
        for (String header : headerNames) {  
            System.out.println(header + "=" + part.getHeader(header));  
        }  
        InputStream is = part.getInputStream();  
        String filename = new String(getFilename(part).getBytes(), "UTF-8");  
        File file = new File("D:\\fileupload");  
        if (!file.exists() || !file.isDirectory()) {  
            file.mkdir();  
        }  
          
        FileOutputStream fos = new FileOutputStream(new File(file + File.separator + filename));  
        byte[] buf = new byte[1024];  
        while (is.read(buf) != -1) {  
            fos.write(buf);  
        }  
        fos.flush();  
        fos.close();  
        is.close();  
参考 http://blog.csdn.net/magi1201/article/details/41362857
Defonds 2015-01-12
  • 打赏
  • 举报
回复
一般框架都集成了的。 比如 sruts2:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<s:head/>
<title>Hello World</title>
</head>
<body>
   <s:div>Email Form</s:div>
   <s:text name="Please fill in the form below:" />
   <s:form action="hello" method="post" enctype="multipart/form-data">
   <s:hidden name="secret" value="abracadabra"/>
   <s:textfield key="email.from" name="from" />
   <s:password key="email.password" name="password" />
   <s:textfield key="email.to" name="to" />
   <s:textfield key="email.subject" name="subject" />
   <s:textarea key="email.body" name="email.body" />
   <s:label for="attachment" value="Attachment"/>
   <s:file name="attachment" accept="text/html,text/plain" />
   <s:token />
   <s:submit key="submit" />
   </s:form>
</body>
</html>

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧