文件上传

Action:


import java.io.FileOutputStream;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.MappingDispatchAction;
import org.apache.struts.upload.FormFile;

import cn.com.ambow.struts.day3.form.UpLoadForm;

public class UpLoadAction extends MappingDispatchAction {


public ActionForward upload(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {

ActionForward forward = null;

UpLoadForm ufLoadForm = (UpLoadForm)form;

FormFile formFile = ufLoadForm.getFile();

//获得上传的路径
String path = getServlet().getServletContext().getRealPath("/upload");

System.out.println(path);


FileOutputStream out = new FileOutputStream(path+"/"+formFile.getFileName());
//获得文件内容
out.write(formFile.getFileData());

out.close();

request.setAttribute("message", formFile.getFileName());

forward = mapping.findForward("success");

return forward;
}

}

form:

import org.apache.struts.action.ActionForm;
import org.apache.struts.upload.FormFile;

public class UpLoadForm extends ActionForm {


private FormFile file;

public FormFile getFile() {
return file;
}

public void setFile(FormFile file) {
this.file = file;
}

}

upload.jsp:

<%@ page language="java" import="java.util.*,ectss.model.entity.*" pageEncoding="UTF-8"%>
<form action="${pageContext.request.contextPath }/upload.do" name="UploadForm" enctype="multipart/form-data" method="post" >
<input type="file" name="file"/>
<input type="hidden" name="img" value="${sessionScope.img }"/>
<br/><br/>
<center>
<input type="submit" value="上 传" id="img" />
<br>
<br>
<font style="font-size: 14px;color: green">${message }</font>
</center>
</form>

要实现文件上传的话 需要 enctype="multipart/form-data"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值