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.
gdms/src/servlet/Utils.java

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;
}
}