ssh框架--图片(文件)上传

看过很多关于图片上传的demo,但是都比较乱。本案例经过我几次调整,整理成了一个工具类,与大家分享之。

第一步:准备工作。如果status2.3.4版本以下,struts2在上传文件的时候 upload.parseRequest(request)值将为空,解决办法是写一个继承JakartaMultiPartRequest类的子类,如下所示:

public class RequestParseWrapper extends JakartaMultiPartRequest {
	@Override
	public void parse(HttpServletRequest arg0, String arg1) throws IOException {
		
	}
}

同时在struts.xml配置文件中配置加入:

<bean type= "org.apache.struts2.dispatcher.multipart.MultiPartRequest"   
		name= "myRequestParser"   class= "com.zho.app.status.request.file.RequestParseWrapper"   
		scope= "default"  optional= "true"/>   
	<constant name= "struts.multipart.handler" value= "myRequestParser"/> 
第二步: 前端提交:提交的方式有两种,第一种是表单提交,这里需要注意的是form表单中form标签中加入属性enctype="multipart/form-data",并且method必须是post提交方式,如下所示:
<form action="<%=basePath %>/sharedFarmUsers_sp/posting.action" enctype="multipart/form-data" method="post" id="mytest_id">
		<input type="text" name="userid" /><br /> 
		<input type="file" id="f2" name="image" /><br /> 
		<input type="submit" value="上传" /><br />
</form>
第二种提交方式是异步提交,需要导入jquery.form.js文件,form表单属性同第一种一致,但不用写action属性。

<form id="contentForm" method="post" enctype="multipart/form-data">
		<div>
			<span>正文内容</span>
			<div>
			<input type="text" name="consultationid" value="${consultationid }">
			<select id="type_id" name="type">
				<option value="0">图片</option>
				<option value="1">文本</option>
			</select>
			<div id=typeview>
			</div>
			<!-- <input type="file" name="value"/><br>
			<textarea rows="3" cols="80" name="value"></textarea> -->
			</div><br>
		</div>
		<p><input type="button" value="正文编辑" οnclick="consultationTextEditor()"/><input type="reset" value="重置"/></p>
		<p><span>${success }</span></p>
</form>
<script type="text/javascript">
function consultationTextEditor(){
	var option={
			type:'POST',
			url:'<%=path %>/sharedFarmAdmin_sp/consultationTextEditor.action',
			dataType:'text',
			data: '',
			success:function(data){
			}
		};
	$("#contentForm").ajaxSubmit(option);
}
</script>
第三步:后台接受把图片存入服务器中,把传入服务器中的图片地址存入数据库。

                
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值