/*html*/
<td>
<input id="EMP_REFERENCE_PROOF" label="初次参加工作日期证明" name="EMP_REFERENCE_PROOF" type="hidden" value="<%=pageBean.inputValue("EMP_REFERENCE_PROOF")%>" size="24" class="layui-input text" />
<div class="layui-upload-list">
<a id="down_file" download="<%=pageBean.inputValue("EMP_REFERENCE_PROOF")%>" href="<%=pageBean.inputValue("EMP_REFERENCE_PROOF")%>" >下载</a>
<p id="demoText2"></p>
</div>
<a class="layui-btn layui-btn-sm layui-btn-warm" id="test2" ">上传文件</a>
</td>
<th>照片</th>
<td>
<div class="layui-upload">
<input id="EMP_PHOTO" label="照片" name="EMP_PHOTO" type="hidden" value="<%=pageBean.inputValue("EMP_PHOTO")%>" size="24" class="layui-input text" />
<div class="layui-upload-list">
<img class="layui-upload-img" id="demo1" src="<%=pageBean.inputValue("EMP_PHOTO")%>">
<p id="demoText"></p>
</div>
<a class="layui-btn layui-btn-sm layui-btn-warm" id="test1" οnclick="uploadfile();">上传图片</a>
</div>
</td>
/*js*/
layui.use('upload', function(){
var $ = layui.jquery
,upload = layui.upload;
//普通图片上传
var uploadInst = upload.render({
elem: '#test1'
,exts: 'jpg|png|gif|jpeg' //只允许上传压缩文件
,url: '<%=request.getContextPath()%>/index;jsessionid=<%=sessionId%>?HrEmployeeManageEdit&actionType=uploadFile'
,before: function(obj){
//预读本地文件示例,不支持ie8
obj.preview(function(index, file, result){
$('#demo1').attr('src', result); //图片链接(base64)
});
}
,done: function(res){
if(res.msg == "ok"){
layer.msg('上传成功');
$("#EMP_PHOTO").val(res.url);
}else{//如果上传失败
return layer.msg('上传失败');
}
}
,error: function(exe){
//演示失败状态,并实现重传
var demoText = $('#demoText');
demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
demoText.find('.demo-reload').on('click', function(){
uploadInst.upload();
});
}
});
//指定允许上传的文件类型
upload.render({
elem: '#test2'
,accept: 'file' //普通文件
,url: '<%=request.getContextPath()%>/index;jsessionid=<%=sessionId%>?HrEmployeeManageEdit&actionType=uploadFile'
,done: function(res){
if(res.msg == "ok"){
layer.msg('上传成功');
$("#EMP_REFERENCE_PROOF").val(res.url);
$("#down_file").attr("href",res.url);
$("#down_file").attr("download",res.url);
$("#down_file").show();
}else{//如果上传失败
return layer.msg('上传失败');
}
},error: function(exe){
//演示失败状态,并实现重传
var demoText = $('#demoText2');
demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
demoText.find('.demo-reload').on('click', function(){
upload.upload();
});
}
});
});
/*后台*/
public ViewRenderer uploadFile(DataParam param) throws JSONException{
String responseText = FAIL;
JSONObject resObj = new JSONObject();
try {
DiskFileItemFactory fac = new DiskFileItemFactory();
ServletFileUpload fileFileUpload = new ServletFileUpload(fac);
fileFileUpload.setHeaderEncoding("utf-8");
List fileList = null;
InputStream input = null;
fileList = fileFileUpload.parseRequest(request);
FileOutputStream out = null;
//List<FileItem> items = fileFileUpload.parseRequest(request); //解析request请求
Iterator iter = fileList.iterator();
String returnresponseText = "";
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (item.isFormField()) { //如果是表单域 ,就是非文件上传元素 必须要判断的
String name = item.getFieldName(); //获取name属性的值
String value = item.getString(); //获取value属性的值
} else {
String fieldName = item.getFieldName(); //文件域中name属性的值
String fileName = item.getName(); //文件的全路径,绝对路径名加文件名
String[] NameTypeList = fileName.split(".");
String NameType = fileName.substring(fileName.lastIndexOf(".") + 1);
String contentType = item.getContentType(); //文件的类型
long size = item.getSize(); //文件的大小,以字节为单位
Date date = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmssSSS");
String dateString = formatter.format(date);
String WebRoots = getRequest().getSession()
.getServletContext().getRealPath("");
String iconUrl = WebRoots + "/"+contentType+"/" + dateString;// icon存放地址
File file = new File(iconUrl);
if (!file.exists()) {
file.mkdir();
}
String surr = fileName;//System.currentTimeMillis() + "."+NameType;
String url = file + "/" + surr;
String apkUrl = contentType+"/" + dateString + "/" + surr;
//out = new FileOutputStream(url);// 上传到绝对路径...
File saveFile = new File(url);
File fileParent = saveFile.getParentFile();
if(!fileParent.exists()){
fileParent.mkdirs();
}
item.write(saveFile);
saveFile.createNewFile();
//returnresponseText = url;
resObj.put("msg", "ok");
resObj.put("status", "200");
resObj.put("url", apkUrl);
/*File saveFile = new File(url); //定义一个file指向一个具体的文件
saveFile.createNewFile();
if (!saveFile.exists()) {
saveFile.mkdir();
}
item.write(saveFile); //把上传的内容写到一个文件中
byte[] b = new byte[1024];
int readLength = -1;
while ((readLength = input.read(b)) != -1) {
out.write(b, 0, readLength);
}
if(out != null){
out.close();
}
if(input != null){
input.close();
}*/
}
//responseText = "{status:'SUCCESS',url:'"+returnresponseText+"'}";
}
} catch (Exception e) {
resObj.put("msg", "error");
resObj.put("status", "500");
e.printStackTrace();
}
return new AjaxRenderer(resObj.toString());
}