修复:参数包含特殊字符时url解码失败
This commit is contained in:
@ -12,7 +12,6 @@ import org.springframework.stereotype.Component;
|
|||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.net.URLDecoder;
|
|
||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -328,26 +327,19 @@ public class FileUtils {
|
|||||||
|
|
||||||
|
|
||||||
public FileAttribute getFileAttribute(String url) {
|
public FileAttribute getFileAttribute(String url) {
|
||||||
String decodedUrl = null;
|
|
||||||
try {
|
|
||||||
decodedUrl = URLDecoder.decode(url, "utf-8");
|
|
||||||
} catch (UnsupportedEncodingException e){
|
|
||||||
log.error("url解码失败");
|
|
||||||
}
|
|
||||||
String fileName;
|
String fileName;
|
||||||
FileType type;
|
FileType type;
|
||||||
String suffix;
|
String suffix;
|
||||||
|
String fullFileName = getUrlParameterReg(url, "fullfilename");
|
||||||
String fullFileName = getUrlParameterReg(decodedUrl, "fullfilename");
|
|
||||||
if (!StringUtils.isEmpty(fullFileName)) {
|
if (!StringUtils.isEmpty(fullFileName)) {
|
||||||
fileName = fullFileName;
|
fileName = fullFileName;
|
||||||
type = typeFromFileName(fileName);
|
type = typeFromFileName(fileName);
|
||||||
suffix = suffixFromFileName(fileName);
|
suffix = suffixFromFileName(fileName);
|
||||||
} else {
|
} else {
|
||||||
fileName = getFileNameFromURL(decodedUrl);
|
fileName = getFileNameFromURL(url);
|
||||||
type = typeFromUrl(url);
|
type = typeFromUrl(url);
|
||||||
suffix = suffixFromUrl(url);
|
suffix = suffixFromUrl(url);
|
||||||
}
|
}
|
||||||
return new FileAttribute(type,suffix,fileName,url,decodedUrl);
|
return new FileAttribute(type,suffix,fileName,url,url);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user