getFile() 之前是否有办法可以先调用 getPara()...

UploadFile file = getFile(getPara("file"),"");上传路径的参数也需要从form表单里获取,但是又只能放在getFile后面,咋办@JFinal

评论区

JFinal

2016-10-09 15:02

最简单的办法是在form表单的action属性上使用 urlPara 或者用问号挂参的方式将 path 传过来,这样就可以在 getFile() 之前通过 getPara(...) 获取了,例如:
action="/upload?filePath=/mypath/..."
filePath = getPara("filePath");
uf = getFile("filePath");

还有一种办法麻烦点,先 uf = getFile() 然后,filePath = getPara("filePath"); 最后再用 uf.renameTo(filePath + fileName) 做后续的转换

JFinal

2016-10-09 15:09

补充一点,如果这个 filePath 是用户输入的,可以变化的,那么在 form 表单 action 属性上不方便写死,可以用 javascript 动态改变这个 action 值

spectre

2016-10-09 15:15

@JFinal 第一种方法我那边是隐藏域的值,不知道怎么?加后面,第二种方法可不可以详细点0 0谢啦

JFinal

2016-10-09 15:53

@spectre 第一种方法,让提交表单这个操作使用 javascript,在提交之前将隐藏域的值与 action 的值拼接起来即可,第二种方法就是先 getFile()然再再 getPara()得到 filePath,最后再 uf.getFile().renameTo(filePath + fileName) 将原来文件存放的路由改变一下

热门反馈

扫码入社