【fix】处理导入工具不能下载导入异常的bug
This commit is contained in:
+2
@@ -223,6 +223,8 @@ public interface CommonConstant {
|
|||||||
public static final Integer USER_IDENTITY_1 = 1;
|
public static final Integer USER_IDENTITY_1 = 1;
|
||||||
public static final Integer USER_IDENTITY_2 = 2;
|
public static final Integer USER_IDENTITY_2 = 2;
|
||||||
|
|
||||||
|
/** sys_user 表 username 唯一键索引 */
|
||||||
|
public static final String SQL_INDEX_INDEX_USER_NAME = "index_user_name";
|
||||||
/** sys_user 表 username 唯一键索引 */
|
/** sys_user 表 username 唯一键索引 */
|
||||||
public static final String SQL_INDEX_UNIQ_SYS_USER_USERNAME = "uniq_sys_user_username";
|
public static final String SQL_INDEX_UNIQ_SYS_USER_USERNAME = "uniq_sys_user_username";
|
||||||
/** sys_user 表 work_no 唯一键索引 */
|
/** sys_user 表 work_no 唯一键索引 */
|
||||||
|
|||||||
+61
@@ -275,4 +275,65 @@ public class CommonController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 预览图片&下载文件
|
||||||
|
* 请求地址:http://localhost:8080/common/static/{user/20190119/e1fe9925bc315c60addea1b98eb1cb1349547719_1547866868179.jpg}
|
||||||
|
*
|
||||||
|
* @param request
|
||||||
|
* @param response
|
||||||
|
*/
|
||||||
|
@GetMapping(value = "/static/**")
|
||||||
|
public void view(HttpServletRequest request, HttpServletResponse response) {
|
||||||
|
// ISO-8859-1 ==> UTF-8 进行编码转换
|
||||||
|
String imgPath = extractPathFromPattern(request);
|
||||||
|
if(oConvertUtils.isEmpty(imgPath) || imgPath=="null"){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// 其余处理略
|
||||||
|
InputStream inputStream = null;
|
||||||
|
OutputStream outputStream = null;
|
||||||
|
try {
|
||||||
|
imgPath = imgPath.replace("..", "").replace("../","");
|
||||||
|
if (imgPath.endsWith(",")) {
|
||||||
|
imgPath = imgPath.substring(0, imgPath.length() - 1);
|
||||||
|
}
|
||||||
|
String filePath = uploadpath + File.separator + imgPath;
|
||||||
|
File file = new File(filePath);
|
||||||
|
if(!file.exists()){
|
||||||
|
response.setStatus(404);
|
||||||
|
throw new RuntimeException("文件["+imgPath+"]不存在..");
|
||||||
|
}
|
||||||
|
response.setContentType("application/force-download");// 设置强制下载不打开
|
||||||
|
response.addHeader("Content-Disposition", "attachment;fileName=" + new String(file.getName().getBytes("UTF-8"),"iso-8859-1"));
|
||||||
|
inputStream = new BufferedInputStream(new FileInputStream(filePath));
|
||||||
|
outputStream = response.getOutputStream();
|
||||||
|
byte[] buf = new byte[1024];
|
||||||
|
int len;
|
||||||
|
while ((len = inputStream.read(buf)) > 0) {
|
||||||
|
outputStream.write(buf, 0, len);
|
||||||
|
}
|
||||||
|
response.flushBuffer();
|
||||||
|
} catch (IOException e) {
|
||||||
|
log.error("预览文件失败" + e.getMessage());
|
||||||
|
response.setStatus(404);
|
||||||
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
if (inputStream != null) {
|
||||||
|
try {
|
||||||
|
inputStream.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
log.error(e.getMessage(), e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (outputStream != null) {
|
||||||
|
try {
|
||||||
|
outputStream.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
log.error(e.getMessage(), e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-1
@@ -516,7 +516,8 @@ public class SysUserController {
|
|||||||
String message = e.getMessage().toLowerCase();
|
String message = e.getMessage().toLowerCase();
|
||||||
int lineNumber = i + 1;
|
int lineNumber = i + 1;
|
||||||
// 通过索引名判断出错信息
|
// 通过索引名判断出错信息
|
||||||
if (message.contains(CommonConstant.SQL_INDEX_UNIQ_SYS_USER_USERNAME)) {
|
if (message.contains(CommonConstant.SQL_INDEX_UNIQ_SYS_USER_USERNAME)
|
||||||
|
|| message.contains(CommonConstant.SQL_INDEX_INDEX_USER_NAME)) {
|
||||||
errorMessage.add("第 " + lineNumber + " 行:用户名已经存在,忽略导入。");
|
errorMessage.add("第 " + lineNumber + " 行:用户名已经存在,忽略导入。");
|
||||||
} else if (message.contains(CommonConstant.SQL_INDEX_UNIQ_SYS_USER_WORK_NO)) {
|
} else if (message.contains(CommonConstant.SQL_INDEX_UNIQ_SYS_USER_WORK_NO)) {
|
||||||
errorMessage.add("第 " + lineNumber + " 行:工号已经存在,忽略导入。");
|
errorMessage.add("第 " + lineNumber + " 行:工号已经存在,忽略导入。");
|
||||||
|
|||||||
Reference in New Issue
Block a user