package com.phda.controller;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import com.alibaba.fastjson.JSONObject;
@Controller
@RequestMapping(value="/fileupload")
public class TestController extends BasicFunction{
@RequestMapping(value="/et")
public String enterTest(HttpServletRequest req,HttpServletResponse resp){
return "et";
}
/**
* 支持多文件上传
* @param files
* @param req
* @param resp
* @throws IOException
*/
@ResponseBody
@RequestMapping(value="/fileUpload")
public void fileUpload (@RequestParam(value = "simpleFile", required = false)CommonsMultipartFile[] files,HttpServletRequest req,HttpServletResponse resp) throws IOException{
for(int i=0;i<files.length;i++){
//String fileName = files[i].getName();
String fileName = files[i].getOriginalFilename();
CommonsMultipartFile tempFile = files[i];
InputStream fis = tempFile.getInputStream();
readFile(fis, "D:\\phda\\uploadFile",fileName);
}
JSONObject json = new JSONObject();
json.put("status", "1");
json.put("msg", "upload over");
this.responseContent(resp, json.toJSONString());
}
/**
*
* @param inputFile
* @param dir
*/
public static void readFile(File inputFile,String dir,String newFileName){
if(inputFile == null){
System.out.println("==传入文件不为null");
return ;
}
File newDir = new File(dir);
if(!newDir.exists())
newDir.mkdirs();//创建文件目录
try {
FileInputStream fis = new FileInputStream(inputFile);
FileOutputStream fos = new FileOutputStream(new File(newDir,newFileName));
byte b[] = new byte[1024*1024];
int len = 0;
while((len = fis.read(b))!=-1){
fos.write(b, 0, len);
}
fis.close();//关闭流
fos.close();
} catch ( IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
*
* @param inputFile
* @param dir
*/
public static void readFile(InputStream fis,String dir,String newFileName){
if(fis == null){
System.out.println("==传入文件不为null");
return ;
}
File newDir = new File(dir);
if(!newDir.exists())
newDir.mkdirs();//创建文件目录
try {
FileOutputStream fos = new FileOutputStream(new File(newDir,newFileName));
byte b[] = new byte[1024*1024];
int len = 0;
while((len = fis.read(b))!=-1){
fos.write(b, 0, len);
}
fis.close();//关闭流
fos.close();
} catch ( IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}