文件上传

原创 2012年03月30日 10:34:38

页面的代码:

<s:form action = "uploadPro" enctype="multipart/form-data">
  <s:textfield name="title" label="文件上传"></s:textfield>
  <s:file name="upload" label="选择文件"></s:file><br/>
  <s:submit value="上传"></s:submit>
  </s:form>

 

 

action中的代码:

 

package com.ultratest.oa.employee.action;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;


public class UploadAction extends ActionSupport {
 //封装文件标题请求参数的属性
 private String tiltle;
 //封装上传文件域的属性
 private File upload;
 //封装上传文件类型的属性
 private String uploadContentType;
 //封装上传文件的文件名
 private String uploadFileName;
 //直接从struts.xml文件中配置的属性,也可以手工写
 * <action name="uploadPro" class = "action.UploadAction">
  * <parma name="savePath">/upload</param>
  * 拦截器是限制上传类型和上传的大小
  * <interceptor-ref name="fileUpload">
  * <param name="allowTypes">image/png,image/gif,image/jpeg</param>
  * <param name="maximumSize">2000</param>
  * </interceptor-ref>
  * </action>
 private String savePath;
 //提供相应的setter和getter
 
 private String getSavePath()throws Exception{
  return ServletActionContext.getServletContext().getRealPath("/WEB-INF"+savePath);
 }
 
 public String getTiltle() {
  return tiltle;
 }
 
 public void setTiltle(String tiltle) {
  this.tiltle = tiltle;
 }
 
 public File getUpload() {
  return upload;
 }
 
 public void setUpload(File upload) {
  this.upload = upload;
 }
 
 public String getUploadContentType() {
  return uploadContentType;
 }
 
 public void setUploadContentType(String uploadContentType) {
  this.uploadContentType = uploadContentType;
 }
 
 public String getUploadFileName() {
  return uploadFileName;
 }
 
 public void setUploadFileName(String uploadFileName) {
  this.uploadFileName = uploadFileName;
 }
 
 public void setSavePath(String savePath) {
  this.savePath = savePath;
 }
 @Override
 public String execute() throws Exception {
  // TODO Auto-generated method stub
  FileOutputStream fos = new FileOutputStream(getSavePath()+"\\"+getUploadFileName());
  FileInputStream fis = new FileInputStream(getUpload());
  byte[] buffer = new byte[1024];
  int len = 0;
  while((len=fis.read(buffer))>0){
   fos.write(buffer,0,len);
  }
  
  
  return super.execute();
 }
}

文件上传模板

在开发中我们经常会写文件上传的接口,那么测试的时候每次都要自己写一次表弟验证写的接口是否正确,下面给出一个通用的模板: --> 要上传的文件1...
  • u014520745
  • u014520745
  • 2016年10月19日 13:46
  • 705

文件上传---文件上传

先上代码import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; impor...
  • u010715440
  • u010715440
  • 2014年11月18日 19:29
  • 209

文件上传漏洞原理与实例测试

0x00 什么是文件上传 为了让用户将文件上传到网站,就像是给危机服务器的恶意用户打开了另一扇门。即便如此,在今天的现代互联网的Web应用程序,它是一种常见的要求,因为它有助...
  • wuqiongrj
  • wuqiongrj
  • 2016年07月22日 17:32
  • 3552

JSP 实现文件上传

JSP 可以与 HTML form 标签一起使用,来允许用户上传文件到服务器。上传的文件可以是文本文件或图像文件或任何文档。 本章节我们使用 Servlet 来处理文件上传,使用到的文件有: u...
  • SUN_song520
  • SUN_song520
  • 2016年12月12日 13:59
  • 1656

Yii框架中文件上传

1:在数据库中建立一张表(upload,我的表是这样的: 2:使用Gii生成model层;
  • matiantian666
  • matiantian666
  • 2016年06月30日 10:12
  • 960

struts2 实现文件上传原理

struts2 实现文件上传原理   通过struts2实现文件上传功能,主要jar包是不可少的包括: aopalliance.jar  --------------------------...
  • gazer_yuol
  • gazer_yuol
  • 2015年07月31日 00:22
  • 1448

PHP学习(7)-文件的上传

本文介绍如何把文件上传到服务器并保存。1.一个文件上传表单 Filename:
  • u012426959
  • u012426959
  • 2017年12月04日 09:15
  • 138

文件上传漏洞和修复方案

现代互联网的web应用程序中,文件上传是一种常见的要求,因为它有助于一高业务效率。在大型社交网络程序中都支持文件上传功能。在博客,论坛,电子银行网络,会给用户和企业员工有效的共享文件。允许上传图片,视...
  • pygain
  • pygain
  • 2016年10月22日 15:11
  • 4464

Android 文件上传的几种方式

这两天和新来的同事做一个项目,用到了文件上传,在这里记录下历程Android文件上传有各种各样的Http框架,我也就简单说说我常用的吧,LiteHttp,OkHttp的封装还没做完全,有时间会补上,这...
  • qq_15700209
  • qq_15700209
  • 2017年06月15日 09:47
  • 1343

web安全之文件上传漏洞攻击与防范方法

一、 文件上传漏洞与WebShell的关系 文件上传漏洞是指网络攻击者上传了一个可执行的文件到服务器并执行。这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等。这种攻击方式是最为直接和有效...
  • u014609111
  • u014609111
  • 2016年09月29日 14:48
  • 16715
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:文件上传
举报原因:
原因补充:

(最多只允许输入30个字)