jfinal上传图片带参数

jfinal上传图片带参数,完美解决!


今天要讲的是jfinal上传图片方法中如何接收"file"以外的其他参数,同时也算是记录一下自己开发中的踩坑经历,哈哈;好了,言归正转:

第一步:前端我是使用的layui的图片上传方法,具体使用方式请翻阅相关文档:

//layui上传图片
upload.render({
	elem: '#fileBtn',
	url: '/upload/image',
	accept: 'images',
	exts: 'jpg' | 'png' | 'jpeg',
	auto: true,
	bindAction: '#uploadBtn',	
	done: function(res) {
        parent.layer.msg(res.msg);
		if(res.code == 200) {
			$('.proview-img').css('display', 'inline-block')
			$('.proview-img img').attr('src', res.data)
			$("[name=image]").val(res.data);

		}
	}
});

但是如果需要传递另外的参数到后台,需要加上before:

before: function(obj){ 
	this.data={'imgType':'1'};
},

结合以上:

//layui上传图片
upload.render({
	elem: '#fileBtn',
	url: '/upload/image',
	accept: 'images',
	exts: 'jpg' | 'png' | 'jpeg',
	auto: true,
	bindAction: '#uploadBtn',
	before: function(obj){ 
		this.data={'imgType':'1'};
	},	
	done: function(res) {
        parent.layer.msg(res.msg);
		if(res.code == 200) {
			$('.proview-img').css('display', 'inline-block')
			$('.proview-img img').attr('src', res.data)
			$("[name=image]").val(res.data);

		}
	}
});

接下来就是后台方法了,我使用的是jfinal封装好的UploadFile类来接收图片数据,后面具体保存实现跟普通文件上传无异,将不做展示:

// jfinal图片上传
public void image() {
	// 接收前台文件数据
	UploadFile uploadFile = getFile();	
	// 略...
}

我们都知道,jfinal接收前台参数写法很简单:

String param = getPara("你的参数名");

结合以上

// jfinal图片上传
public void image() {	
	// 接收前台文件数据
	UploadFile uploadFile = getFile();	
	String param = getPara("你的参数名");
	// 略...
}

千万注意,接收额外的参数必须写在接收文件代码行之后,例如下面这样就无法获取到前台传的“imgType”的值:

// jfinal图片上传
public void image() {
	Integer param = getParaToInt("imgType");
	// 接收前台文件数据
	UploadFile uploadFile = getFile();	
	// 略...
}

正确写法:

// 接收前台文件数据,必须放在方法的第一行
UploadFile uploadFile = getFile();
// 接收其他参数
Integer param = getParaToInt("imgType");

好了,以上就是jfinal上传图片接收其他参数的方法,若你也遇到此问题快去试试吧,亲测有效,觉得不错也可以点赞收藏多多支持!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值