UploadUtil代码
package
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class UploadUtil {
private static final String CMD_SELECT_FREE_SPACE = "df -P -hT";
private final static Logger LOG = LoggerFactory.getLogger(UploadUtil.class);
/**
* 查询当前路径所在磁盘的剩余空间
*
* @param path
* @return 剩余空间字节数
*/
public static double getFreeSpaceByPath(String path) {
double freeHD = 0;
BufferedReader reader = null;
try {
Runtime rt = Runtime.getRuntime();
Process p = rt.exec(CMD_SELECT_FREE_SPACE + " " + path);
reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
String str = null;
String[] strArray = null;
while ((str = reader.readLine()) != null) {
int m = 0;
strArray = str.split(" ");
LOG.info("df -P -hT result:" + Arrays.toString(strArray) + ";m:" + m);
for (String tmp : strArray) {
if (tmp.trim().length() == 0)
continue;
if (tmp.indexOf("T") != -1) {
if (m == 4) {
if (!tmp.equals("none") && !tmp.equals("0"))
freeHD = Double.parseDouble(tmp.substring(0, tmp.length() - 1)) * 1024 * 1024 * 1024 * 1024;
}
}
else if (tmp.indexOf("G") != -1) {
if (m == 4) {
if (!tmp.equals("none") && !tmp.equals("0"))
freeHD = Double.parseDouble(tmp.substring(0, tmp.length() - 1)) * 1024 * 1024 * 1024;
}
}
else if (tmp.indexOf("M") != -1) {
if (m == 4) {
if (!tmp.equals("none") && !tmp.equals("0"))
freeHD = Double.parseDouble(tmp.substring(0, tmp.length() - 1)) * 1024 * 1024;
}
}
m++;
}
}
} catch (Exception e) {
LOG.error("Get disk free space error. path=" + path, e);
} finally {
try {
if (reader != null) {
reader.close();
}
} catch (IOException e) {
LOG.error("Close reader error.", e);
}
}
LOG.info("The path=" + path + ",and the disk have free space is " + freeHD);
return freeHD;
}
}
uploadController
package
import java.awt.image.BufferedImage;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.UUID;
import javax.imageio.ImageIO;
import javax.servlet.ServletInputStream;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.lixin.secure.user.common.Constants;
import org.apache.commons.io.IOUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springfra