首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

Struts2 上传资料allowedTypes详解

2012-08-17 
Struts2 上传文件allowedTypes详解Struts2文件上传,基本的配置如下:UploadFileActionpackage jp.co.ricoh.

Struts2 上传文件allowedTypes详解

Struts2文件上传,基本的配置如下:

UploadFileAction

package jp.co.ricoh.action.upload;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import java.util.Date;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public class FileUploadAction extends ActionSupport {/** *  */private static final long serialVersionUID = 7944571812664822722L;private static final int BUFFER_SIZE = 16 * 1024;private File file;private String contentType;private String fileName;private String imageFileName;private String caption;public File getFile() {return file;}public void setFile(File file) {this.file = file;}public String getFileContentType() {return contentType;}public void setFileContentType(String contentType) {this.contentType = contentType;}public String getFileFileName() {return fileName;}public void setFileFileName(String fileName) {this.fileName = fileName;}public String getImageFileName() {return imageFileName;}public void setImageFileName(String imageFileName) {this.imageFileName = imageFileName;}public String getCaption() {return caption;}public void setCaption(String caption) {this.caption = caption;}public static int getBufferSize() {return BUFFER_SIZE;}private static void copyFile(File src, File dest) {try {InputStream in = null;OutputStream out = null;try {in = new BufferedInputStream(new FileInputStream(src),BUFFER_SIZE);out = new BufferedOutputStream(new FileOutputStream(dest),BUFFER_SIZE);byte[] buffer = new byte[BUFFER_SIZE];while (in.read(buffer) > 0) {out.write(buffer);}} finally {if (null != in) {in.close();}if (null != out) {out.close();}}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}private static String getExtention(String fileName) {int pos = fileName.lastIndexOf(".");return fileName.substring(pos);}@Overridepublic String execute() throws Exception {imageFileName = new Date().getTime() + getExtention(fileName);File imageFile = new File(ServletActionContext.getServletContext().getRealPath("/uploadFile") + "/" + imageFileName);System.out.println(imageFile.getName());copyFile(file, imageFile);return super.execute();}}

?struts.xml配置如下:

<package name="upload" namespace="/" extends="struts-default"><action name="FileUploadAction" name="code"><%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><%@ 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><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Struts2 File Upload</title></head><body><s:fielderror></s:fielderror><s:form action="FileUploadAction" method="post" enctype="multipart/form-data"><s:file name="file" label="Image File"></s:file><s:textfield name="caption" label="Caption"></s:textfield><s:submit></s:submit></s:form></body></html>

?

但是,我明明上传的文件格式是正确,还是出现:

    .a :

    application/octet-stream

    .ai :

    application/postscript

    '.aif' :

    ?'audio/x-aiff',

    '.aifc' :

    ?'audio/x-aiff',

    '.aiff' :

    ?'audio/x-aiff',

    '.au' : '

    audio/basic',

    '.avi' :

    'video/x-msvideo',

    '.bat' :

    'text/plain',

    '.bcpio' :

    ?'application/x-bcpio',

    '.bin' :

    ?'application/octet-stream',

    '.bmp' :

    ?'image/x-ms-bmp',

    '.c' :

    'text/plain',

    ?

    # Duplicates :(

    ?

    '.cdf' :

    ?'application/x-cdf',

    ?

    '.cdf'

    : 'application/x-netcdf',

    '.cpio' :

    'application/x-cpio',

    '.csh' :

    ?'application/x-csh',

    '.css' :

    ?'text/css',

    '.dll' :

    ?'application/octet-stream',

    '.doc' :

    ?'application/msword',

    '.dot' :

    ?'application/msword',

    '.dvi' :

    ?'application/x-dvi',

    '.eml' :

    ?'message/rfc822',

    '.eps' :

    ?'application/postscript',

    '.etx' :

    ?'text/x-setext',

    '.exe' :

    ?'application/octet-stream',

    '.gif' :

    ?'image/gif',

    '.gtar' :

    'application/x-gtar',

    '.h' :

    ?'text/plain',

    '.hdf' :

    ?'application/x-hdf',

    '.htm' :

    ?'text/html',

    '.html' :

    ?'text/html',

    '.ief' :

    ?'image/ief',

    '.jpe' :

    ?'image/jpeg',

    '.jpeg' :

    ?'image/jpeg',

    '.jpg' :

    ?'image/jpeg',

    '.js' :

    'application/x-javascript',

    '.ksh' :

    ?'text/plain',

    '.latex' :

    ?'application/x-latex',

    '.m1v' :

    'video/mpeg',

    '.man' :

    ?'application/x-troff-man',

    '.me' :

    ?'application/x-troff-me',

    '.mht' :

    ?'message/rfc822',

    '.mhtml' :

    ?'message/rfc822',

    '.mif' :

    ?'application/x-mif',

    '.mov' :

    ?'video/quicktime',

    '.movie' :

    ?'video/x-sgi-movie',

    '.mp2' :

    ?'audio/mpeg',

    '.mp3' :

    ?'audio/mpeg',

    '.mpa' :

    ?'video/mpeg',

    '.mpe' :

    ?'video/mpeg',

    '.mpeg' :

    'video/mpeg',

    '.mpg' :

    'video/mpeg',

    '.ms' :

    ?'application/x-troff-ms',

    '.nc' :

    ?'application/x-netcdf',

    '.nws' :

    ?'message/rfc822',

    '.o' :

    'application/octet-stream',

    '.obj' :

    ?'application/octet-stream',

    '.oda' :

    ?'application/oda',

    '.p12' :

    ?'application/x-pkcs12',

    '.p7c' :

    ?'application/pkcs7-mime',

    '.pbm' :

    ?'image/x-portable-bitmap',

    '.pdf' :

    'application/pdf',

    '.pfx' :

    ?'application/x-pkcs12',

    '.pgm' :

    ?'image/x-portable-graymap',

    '.pl' :

    ?'text/plain',

    '.png' :

    ?'image/png',

    '.pnm' :

    ?'image/x-portable-anymap',

    '.pot' :

    ?'application/vnd.ms-powerpoint',

    '.ppa' :

    ?'application/vnd.ms-powerpoint',

    '.ppm' :

    ?'image/x-portable-pixmap',

    '.pps' :

    ?'application/vnd.ms-powerpoint',

    '.ppt' :

    ?'application/vnd.ms-powerpoint',

    '.ps' :

    ?'application/postscript',

    '.pwz' :

    ?'application/vnd.ms-powerpoint',

    '.py' :

    ?'text/x-python',

    '.pyc' :

    ?'application/x-python-code',

    '.pyo' :

    ?'application/x-python-code',

    '.qt' :

    ?'video/quicktime',

    '.ra' :

    ?'audio/x-pn-realaudio',

    '.ram' :

    ?'application/x-pn-realaudio',

    '.ras' :

    ?'image/x-cmu-raster',

    '.rdf' :

    ?'application/xml',

    '.rgb' :

    ?'image/x-rgb',

    '.roff' :

    ?'application/x-troff',

    '.rtx' :

    ?'text/richtext',

    '.sgm' :

    ?'text/x-sgml',

    '.sgml' :

    ?'text/x-sgml',

    '.sh' :

    ?'application/x-sh',

    '.shar' :

    ?'application/x-shar',

    '.snd' :

    ?'audio/basic',

    '.so' :

    ?'application/octet-stream',

    '.src' :

    ?'application/x-wais-source',

    '.sv4cpio':

    ?'application/x-sv4cpio',

    '.sv4crc' :

    ?'application/x-sv4crc',

    '.swf' :

    ?'application/x-shockwave-flash',

    '.t' :

    ?'application/x-troff',

    '.tar' :

    ?'application/x-tar',

    '.tcl' :

    ?'application/x-tcl',

    '.tex' :

    ?'application/x-tex',

    '.texi' :

    ?'application/x-texinfo',

    '.texinfo':

    ?'application/x-texinfo',

    '.tif' :

    ?'image/tiff',

    '.tiff' :

    ?'image/tiff',

    '.tr' :

    ?'application/x-troff',

    '.tsv' :

    ?'text/tab-separated-values',

    '.txt' :

    ?'text/plain',

    '.ustar' :

    ?'application/x-ustar',

    '.vcf' :

    ?'text/x-vcard',

    '.wav' :

    ?'audio/x-wav',

    '.wiz' :

    ?'application/msword',

    '.wsdl' :

    ?'application/xml',

    '.xbm' :

    ?'image/x-xbitmap',

    '.xlb' :

    ?'application/vnd.ms-excel',

    ?

    # Duplicates :(

    ?

    '.xls' :

    ?'application/excel',

    '.xls' :

    ?'application/vnd.ms-excel',

    .xml :

    text/xml

    .xpdl:

    application/xml

    .xpm :

    image/x-xpixmap

    .xsl :

    ?application/xml

    .xwd :

    image/x-xwindowdump

    .zip :

    application/zip

    ?

    firefox 和 ie 的文件类型区别

    ?

    Firefox:

    image/jpeg, image/bmp, image/gif, image/png

    ie 6:

    ?image/pjpeg ,image/bmp, image/gif, image/x-png

    ie 7:

    image/pjpeg, image/bmp, image/gif, image/x-png

    ie 8:

    image/pjpeg, image/bmp, image/gif, image/x-png

    Ie?9:?

    image/jpeg, image/bmp, image/gif, image/png

    ?

    所以在struts.xml配置文件中需要

    <param name="allowedTypes">
    ??????image/bmp,image/png,image/gif,image/jpeg,image/jpg,
    ??????image/pjpeg ,image/bmp, image/gif, image/x-png,
    </param>

    ?

热点排行