要将文件上传到工程中的某个指定文件夹下,需要自动获取到当前项目所发布路径,以便文件保存到该路径下。
A.服务端:JFinal中需先执行getFile,再执行getPara
public void created() {
// 获取项目的发布路径(将文件保存在工程中的resource\upload文件夹下)
String path = getSession().getServletContext().getRealPath("/")+"resource\\upload\\";
// 文件自动保存
getFile("paramname", path);
Model<?> model = getModel(Version.class);
// 处理文件名称
String filename = getPara("filenames");
int length = filename.lastIndexOf("\\");
filename = filename.substring(length+1);
// 设置remark字段的内容为文件的名称
model.set("remark", filename);
if (model.save())
{
render(DwzRender.closeCurrentAndRefresh(modelName + "-list"));
} else
{
render(DwzRender.error());
}
}
B.JSP端:
<form method="post" enctype="multipart/form-data" action="${ctx}/${modelName}/${action}/" class="pageForm required-validate"οnsubmit="return iframeCallback(this, dialogAjaxDone);">
<label>文件:</label>
<input type="file" id="files" name="filename" class="required">