java 上传附件实现方法

java 上传附件实现方法,第1张

第一,jsp上传页面内容:

<%@ page contentType="text/htmlcharset=GBK" %>

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>

<html>

<head>

<title>

jsp1

</title>

</head>

<body bgcolor="#ffffff">

<html:form action="myupload.do" method="post" enctype="multipart/form-data">

<html:file property="thisFile"/><br>

<html:file property="thisFile"/><br>

<html:submit/>

</html:form>

</body>

</html>

第二,一个javabean

package upload

import org.apache.struts.action.ActionForm

import org.apache.struts.upload.FormFile

import org.apache.struts.action.ActionErrors

import org.apache.struts.action.ActionMapping

import javax.servlet.http.HttpServletRequest

public class FileInfo extends ActionForm {

private FormFile thisFile

public FormFile getThisFile() {

return thisFile

}

public void setThisFile(FormFile thisFile) {

this.thisFile = thisFile

}

public ActionErrors validate(ActionMapping actionMapping,

HttpServletRequest httpServletRequest) {

/** @todo: finish this method, this is just the skeleton.*/

return null

}

public void reset(ActionMapping actionMapping,

HttpServletRequest servletRequest) {

}

}

第三,一个action

package upload

import java.io.*

import org.apache.struts.action.ActionMapping

import org.apache.struts.action.ActionForm

import javax.servlet.http.HttpServletRequest

import javax.servlet.http.HttpServletResponse

import org.apache.struts.action.ActionForward

import org.apache.struts.action.Action

import org.apache.struts.upload.FormFile

public class myupload extends Action {

public ActionForward execute(ActionMapping actionMapping,

ActionForm actionForm,

HttpServletRequest request,

HttpServletResponse response) throws

FileNotFoundException, IOException {

FileInfo fileInfo = (FileInfo) actionForm

//获取上传文件

FormFile f=fileInfo.getThisFile()

InputStream is=f.getInputStream()

//将文件存入服务器

String filename=request.getSession().getServletContext().getRealPath("/shangchuan/"+f.getFileName())

OutputStream os=new FileOutputStream(filename)

int x=0

//优化流处理过程

byte[] buffer = new byte[8192]

while((x=is.read(buffer, 0, 8192))!=-1)

{

os.write(buffer,0,x)

}

os.close()

response.sendRedirect("jsp1.jsp")//根据实际情况跳转

return null

}

}

平时在工作中经常连接Linux/Unix服务器,有的服务器是UTF-8,有的服务器是GBK。在Windows下SecureCRT可以完美解决这个问题,在Mac下要通过修改配置进行切换,比较麻烦。

下面隆重介绍一款Terminal下输出转码的工具—— LUIT 支持Mac、Linux原生的Terminal。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/476178.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-07
下一篇2023-06-07

发表评论

登录后才能评论

评论列表(0条)

    保存