You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
2.2 KiB
64 lines
2.2 KiB
package servlet;
|
|
|
|
import gdms.Configuration;
|
|
|
|
import javax.servlet.ServletException;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.Part;
|
|
import java.io.File;
|
|
import java.io.FileOutputStream;
|
|
import java.io.IOException;
|
|
import java.io.InputStream;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.Date;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
public interface Utils {
|
|
static Map<String,String> getVMap(String[] vName, HttpServletRequest request){
|
|
Map<String,String> vMap = new HashMap<>();
|
|
for(int i=0;i<vName.length;i++){
|
|
vMap.put(vName[i],request.getParameter(vName[i]));
|
|
}
|
|
return vMap;
|
|
}
|
|
static String getFilePath(String table){
|
|
return Configuration.filePath+table+"/";
|
|
}
|
|
static String getFileName(String fileName){
|
|
SimpleDateFormat simpleDateFormat;
|
|
simpleDateFormat = new SimpleDateFormat("yyMMddHHmmssSSS");
|
|
Date date = new Date();
|
|
String str = simpleDateFormat.format(date);
|
|
str+=(int)(Math.random()*100000);
|
|
str+= utils.Utils.getFileType(fileName);
|
|
return str;
|
|
}
|
|
static String getFilePathName(String table, String fileName){
|
|
return getFilePath(table)+getFileName(fileName);
|
|
}
|
|
static String saveFile(HttpServletRequest request, String table) throws IOException, ServletException {
|
|
System.out.println("utils");
|
|
Part part = request.getPart("file");
|
|
System.out.println("part");
|
|
String header = part.getHeader("content-disposition");
|
|
String path = header.substring(header.indexOf("filename=") + 10, header.length() - 1);
|
|
String filePathName = servlet.Utils.getFilePathName(table,path);
|
|
System.out.println(filePathName);
|
|
File file = new File(filePathName);
|
|
InputStream inputStream = part.getInputStream();
|
|
FileOutputStream outputStream = new FileOutputStream(file);
|
|
int len;
|
|
byte[] bytes = new byte[1024];
|
|
while ((len = inputStream.read(bytes)) != -1) {
|
|
outputStream.write(bytes, 0, len);
|
|
}
|
|
outputStream.close();
|
|
inputStream.close();
|
|
part.delete();
|
|
System.out.println("end");
|
|
return filePathName;
|
|
}
|
|
}
|