Struts2文件上传拦截器问题

PhoenixSuit全志刷机实战:从驱动安装到固件烧录的完整避坑指南 本文提供全志芯片设备使用PhoenixSuit进行线刷的完整实战指南。详细介绍了从驱动安装、双公头USB线连接、强制刷机模式进入,到固件烧录全过程的核心步骤与常见错误排查。重点解析了如何避免驱动安装失败、正确触发刷机模式以及应对烧录卡顿等关键问题,帮助用户顺利完成刷机或救砖操作。 阅读详情

          在Struts2的文件上传过程中,可能会由于不同浏览器的兼容问题,导致文件上传拦截器对文件类型判断错误。出现Content-Type not allowed: file "xxxx.jpg" "xxxxxx.tmp" image/pjpeg类似的异常。

          小编之前调试过各种方法,后面网上查资料说很可能是浏览器兼容性问题,于是就找了些资料,根据不同浏览器而需要在配置文件中配置不同的文件拦截类型。

  以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>


例外还有其他文件类型如下,配置方式同理,希望对大家有帮助。

.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',

'.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',


'.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



OpenCV-Python实战(10)——详解 OpenCV 轮廓检测 在计算机视觉领域,轮廓通常指图像中对象边界的一系列点。因此,轮廓通常描述了对象边界的关键信息,包含了有关对象形状的主要信息,该信息可用于形状分析与对象检测和识别。在本文中,将首次通过简单示例了解轮廓的基本概念,然后通过实际示例来了解如何检测和压缩轮廓,最后利用介绍如何利用图像矩描述检测到的轮廓属性。 阅读详情

相关推荐

离线环境下 Ubuntu 22.04 制作自定义apt源 安装 Docker环境 的部署方案

本文介绍了一种在无外网环境下部署服务器项目的离线方案。通过在外网环境中制作包含APT软件包和Docker镜像的离线资源包,实现在内网环境中的完整部署。方案详细说明了离线APT源的制作方法、Docker镜像的导出/导入流程,以及内网服务器的软件安装和网络配置步骤。特别强调了版本一致性、目录结构规范和网络适配等注意事项,适用于需要严格隔离网络的生产环境部署。该方案具有可扩展性,可根据实际需求调整软件包和镜像列表。

mmx_2022的博客 654

关于Struts2的拦截jsp的一些了解

这几天在做一个小项目,想要实现在未登录的时候无法访问除登录页面的其他页面。但是Struts2的拦截器配置只能拦截action,无法拦截jsp或者html页面,我们当然可以通过写一个filter来实现拦截,但是Struts2的机制中有这样的一点。就是在WEB-INF下的文件是无法直接访问的,所以我们可以把这些文件放到WEB-INF下,然后通过action的result返回配置返回页面。然后在acti

xwgj2012的博客 1689

Android Settings 设置Preference置灰显示

使Preference置灰显示,不能点击。先调用Preference的setEnabled(false),再调用setShouldDisableView(true); 如果使置灰项恢复正常可点击,可调用setEnabled(true)。

随风而动 1048

Struts2上传拦截处理

废话不多说直接上代码!package cn.bdqn.action;import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException;import org.a

qq_20309873的博客 230

手把手教你用Qwen-7B打造医疗大模型:从数据准备到RLHF全流程实战

本文是一篇基于Qwen-7B-Chat模型构建医疗领域大模型的实战全流程指南。文章详细拆解了从数据准备、环境搭建,到增量预训练、监督微调(SFT)以及偏好对齐(DPO)的核心技术步骤,并分享了部署与持续优化的实践经验。通过LoRA等高效微调技术,帮助开发者掌握将通用大模型改造为专业领域专家的完整方法论。

weixin_29191761的博客 129

Reeds-Shepp曲线公式推导及代码实现-第三部分(共三部分)

根据原始起点的坐标和航向,将上一小节计算出来的局部进行整体的平移和旋转(与归一化的步骤刚好相反),最终得到全局路径的轨迹。根据计算出来的路径,选择路径最短的轨迹(也可根据我们实际的需要定制选优规则),作为最终的轨迹输出。Reeds-Shepp曲线公式推导及代码实现-第一部分(共三部分)Reeds-Shepp曲线公式推导及代码实现-第二部分(共三部分)的值进行等步长插值,得到每段轨迹对应的生成一系列插值距离列表。根据上一步生成的插值距离列表的值,计算其对应的局部位姿值。后,我们需要根据字段类型(

jianmo的博客 1088

struts2--文件上传和uploadFile拦截器

[coolxing按: 转载请注明作者和出处, 如有谬误, 欢迎在评论中指正.]   单文件上传 1. 通过HTML表单上传文件时, 需要将表单的enctype属性设置为multipart/form-data, method属性设置为post.  jsp页面代码: &lt;form action="${pageContext.request.contextPath}/upload/upl...

coolxing 270

Token 费用爆炸?教你用 Semantic Cache(语义缓存)把 API 成本降低 80%

本文介绍了语义缓存(Semantic Cache)技术在大模型应用中的关键作用。传统Redis缓存基于精确匹配,无法处理用户提问的语义相似性,导致重复调用昂贵的LLM API。语义缓存通过将问题向量化并在向量空间中进行相似度匹配,可识别30%-50%的重复提问,直接返回历史答案。文章详细解析了技术原理(Embedding+向量搜索)、架构设计,并提供了基于Python和ChromaDB的50行核心实现代码。同时指出了生产环境中的三大挑战:阈值设定、隐私保护和多轮对话处理,并给出相应解决方案。该技术能以极低成

BUG猿的博客 1055

Struts2文件上传,以及上传拦截异常国际化处理

近期做项目遇到了非常多的文件上传,下面对struts2上传文件做一个详细的解释,我会附上部分代码。 一、文件上传 1、jsp页面 >> 请上传文件吧! 2、文件上传action 看struts2官方的d

强强强子的博客 2232

silero-vad 训练自己的数据

silero-vad 训练自己的数据

jacke121的专栏 815

如何在飞腾平台上安装Ubuntu操作系统

注意: 若主板上配置的是NVME硬盘,在进行内核配置时,需要将内核的NEME驱动勾选上,否则移植内核时,无法找到文件系统,进不去操作系统。可以通过rufus软件将镜像做到U盘中,本次使用版本为Rufus 3.9.124 ,其他版本也可以。不要下载live版本的,没有准备网络环境,是一个头疼的事情,笔者暂时没有实现网络安装。将U盘接到主板usb口上,接上串口,显示器,,必需串口有打印才可以安装。可以通过dd命令,将iso安装到U盘。安装的是最小系统,缺少很多命令,需要联网更新,或则更换飞腾专用内核。

技术联盟 2643

谈谈我对Struts2文件上传的理解(顺便讲了一下Struts2处理请求的大体过程)

在写上传文件的程序时,出现了异常,引发了我对Struts2上传文件的过程的Debug,结果有点心得,也想明白了我的一些疑惑,把整个过程与大家共享一下。 [b] 没有图只有字,大家如果看着不爽,可以直接看问题以及解决方法。[/b] 下文书中包的版本:commons-fileupload-1.2.1.jar、struts2-core-2.1.2.jar 孙鑫的书《Struts2 深入详...

难得悠闲自得 271

UNet改进(12):融合小波变换与注意力机制的图像分割新方法

本文提出了一种改进的WaveletAttentionUNet架构,通过结合小波变换和注意力机制来增强传统UNet的多尺度特征提取能力。该网络使用分组卷积模拟小波分解,将输入通道扩展为4个子带(LL、LH、HL、HH),并通过通道注意力机制自适应加权各子带特征。网络保留了UNet的编码器-解码器结构,在关键位置集成了WaveletAttention模块。实验证明该方法在医学图像分割等任务中能更好地保持边缘细节和复杂纹理特征,同时保持计算效率。

2501_91516851的博客 758

struts2 文件上传的拦截器问题

http://blog.csdn.net/zgmzyr/article/details/5516607  在写上传文件的程序时,出现了异常,引发了我对Struts2上传文件的过程的Debug,结果有点心得,也想明白了我的一些疑惑,把整个过程与大家共享一下。  没有图只有字,大家如果看着不爽,可以直接看问题以及解决方法。  下文书中包的版本:commons-fileupload

xinghuotianci的专栏 1119

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

struts2 文件上传 拦截器的错误配置导致的问题

错误写法: .xls,.xlsx

bingfengyiqie的专栏 490

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Struts2文件上传在配置fileUpload拦截器中设置文件大小无效的问题

action的配置如下:action name="uploadSong" class="uploadSongAction">      interceptor-ref name="fileUpload">                 param name="maximumSize">209715200param>        interceptor-ref>       interc

fuliangliang的Blog 4682

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

关于struts2文件上传超出限制拦截器返回input找不到界面的问题

今天在学习struts拦截器时,就是文件上传与着个点拦截器上传超出限制直接找不到页面,页面丢失的情况, 然后各种百度,说是改tomcat下的serve.xml里的maxSwallowSize="-1",然后我改完还是不行,也不知道是我的问题还是……,然后就莫名其妙的自己试了下,终于弄好了,就是在struts.xml配置容量为无限大,然后在拦截器中配置规定的文件大小。配置的代码如下: 下面是str...

qq_43066253的博客 321

struts2的ajax提交表单文件,Struts2 文件上传 对XHR的请求 (ajax + formData 上传的文件) 拿不到文件...

Struts2 对文件上传是通过 file upload 拦截器实现的,具体引入方法见这里。然而 File Upload 拦截器似乎对于 XHR 过来的文件上传请求无法响应。MMP老子试了半天。用ajax + formData 的方式 文件能传出去(在浏览器HTTP请求中能看到)HTML:JS:$("#uploadBtn").click(function () {var formData = ne...

weixin_31202821的博客 427

Struts拦截器

Struts2拦截器 默认的Interceptor堆栈旨在满足大多数应用程序的需求。大多数应用程序并不需要添加拦截器或改变拦截器栈。 许多行动都有共同的担忧。某些操作需要输入验证。其他操作可能需要预处理文件上载。另一个行动可能需要保护双重提交。许多操作需要在页面显示之前预先填充的下拉列表和其他控件。 该框架使用“拦截器”策略可以轻松地分享这些问题的解决方案。当您请求映射到“操作”的资源时,框架将调...

weixin_41924879的博客 384

struts2上传问题,取得文件为NULL问题

以前做struts2上传一直没有问题。可今天问题出现了。 许多朋友和我一样,取得的文件为null 属性当然也是对的。为什么呢。 是因为struts2上传时要加上传拦截, 如: <action name="file" class="fileAction"><!--Auto Register Action:2010-07-07 14:22:37.281...

aicheng0894的博客 360

struts2.0上传拦截器不起作用

<br />刚在实用了struts2.0的上传,发现其上传成功,但发现虽然配置了struts自己的拦截器,却不能限制类别、大小等。上网查了一下,有如下问题:<br />1.没配置input,因为错误信息会返回input;<br />2.action没有ActionSupport,这个应该是在ActionSuport中定义的INPUT有关;<br />3.我遇到的就是这个问题,要同时配置默认的拦截器,且必需放在fileUpload拦截器之后,我开始就是放在其前面,导致没有控制效果。<br /><action

happy492的专栏 2696

struts2拦截器

struts-default.xml中 声明了所有拦截器,而defaultStack有18个拦截器是默认使用的 简单说。struts2框架在默认情况下,默认加载了18个拦截器struts2中怎样使用拦截器 问题:使用拦截器可以做什么 底层是AOP 动态代理 控制行为的访问 可以通过使用拦截器进行控制action的访问。例如:权限操作 怎样使用拦截器 1.创建一个interc

请叫我法斗先生 386

struts2的拦截器

一:拦截器的介绍 拦截器是struts2的核心组成部分,很多功能都是在拦截器基础上完成的,如文件的上传和下载,国际化,数据校验等。拦截器是动态拦截action调用的对象,。它提供了一种机制,使开发者可以定义一个特定的功能模块,这个模块可以在Action执行之前或者之后运行,也可以在一个Action执行之前阻止Action执行。同时也提供了一种可以提取Action中可重用的部分的方式。它是AOP...

曰业而安的博客 350
上一篇: 如何将txt中的大数据通过PL/SQL导入数据库
下一篇: Spring 命名空间配置
工院一小草
博客等级 码龄11年 5粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值