<form class="form-horizontal" id="upZuopin" method="post" enctype="multipart/form-data">
<div class="form-group">
<label class="col-sm-2 control-label">上传作品</label>
<div class="col-sm-10">
<input type="file" class="form-control" name="fileA" webkitdirectory mozdirectory>
<input type="file" class="form-control" name="fileB" webkitdirectory mozdirectory>
</div>
</div>
<div class="form-group" style="text-align: center">
<button class="btn btn-default" onclick="upZuopin()">提交</button>
</div>
</form>
第一种写法{不保留目录结构}
@RequestMapping("shangchuan.html")
public String shangchuanAgain(
@RequestParam("fileA") CommonsMultipartFile filesA[],
@RequestParam("fileB") CommonsMultipartFile filesB[],
HttpServletRequest request, ModelMap model) {
List<String> list=new ArrayList<>();
// 上传位置
String pathA ="F:\\360MoveData\\Users\\Administrator\\Desktop\\注释结果保存\\注释结果保存\\A\\";
String pathB ="F:\\360MoveData\\Users\\Administrator\\Desktop\\注释结果保存\\注释结果保存\\B\\";
File fA = new File(pathA);
if (!fA.exists())
fA.mkdirs();
for (int i = 0; i < filesA.length; i++) {
list.add(UUID.randomUUID().toString());
// 获得原始文件名
String fileNameA = filesA[i].getOriginalFilename();
System.out.println("原始文件名:" + fileNameA);
// 新文件名
if (!filesA[i].isEmpty()) {
try {
FileOutputStream fos = new FileOutputStream(pathA
+i+ fileNameA.split("[.]")[0]+list.get(i)+fileNameA.substring(fileNameA.lastIndexOf(".")));
InputStream in = filesA[i].getInputStream();
int b = 0;
while ((b = in.read()) != -1) {
fos.write(b);
}
fos.close();
in.close();
} catch (Exception e) {
e.printStackTrace();
}
}
System.out.println("上传图片到:" + pathA
+i+ fileNameA.split("[.]")[0]+list.get(i)+fileNameA.substring(fileNameA.lastIndexOf(".")));
}
File fB = new File(pathB);
if (!fB.exists())
fB.mkdirs();
for (int i = 0; i < filesB.length; i++) {
// 获得原始文件名
String fileNameB = filesB[i].getOriginalFilename();
System.out.println("原始文件名:" + fileNameB);
// 新文件名
if (!filesB[i].isEmpty()) {
try {
FileOutputStream fos = new FileOutputStream(pathB
+i+ fileNameB.split("[.]")[0]+list.get(i)+fileNameB.substring(fileNameB.lastIndexOf(".")));
InputStream in = filesB[i].getInputStream();
int b = 0;
while ((b = in.read()) != -1) {
fos.write(b);
}
fos.close();
in.close();
} catch (Exception e) {
e.printStackTrace();
}
}
System.out.println("上传图片到:" + pathB
+i+ fileNameB.split("[.]")[0]+list.get(i)+fileNameB.substring(fileNameB.lastIndexOf(".")));
}
return "true";
};
第二种写法{保留目录结构}
@RequestMapping("shangchuan.html")
public String shangchuanAgain(
@RequestParam("fileA") CommonsMultipartFile filesA[],
@RequestParam("fileB") CommonsMultipartFile filesB[],
HttpServletRequest request, ModelMap model) {
int i = 0;
// 上传位置
String pathA ="F:\\360MoveData\\Users\\Administrator\\Desktop\\";
String pathB ="F:\\360MoveData\\Users\\Administrator\\Desktop\\";
for(MultipartFile f:filesA){
File file1 ;
String name="";
try {
if (f instanceof CommonsMultipartFile) {
//转换成这个对象,然后我们需要通过里面的FileItem来获得相对路径
CommonsMultipartFile f2 = (CommonsMultipartFile) f;
name = f2.getFileItem().getName();
System.out.println(name + " ---------相对路径");
file1 = new File(pathA + name.split("[.]")[0]+"拓片"+i+f.getOriginalFilename().substring(f.getOriginalFilename().lastIndexOf(".")));
i++;
file1.mkdirs();
file1.createNewFile();
//写入磁盘
f.transferTo(file1);
}
System.out.println(f.getOriginalFilename() + " iii --------");
}catch (Exception e){
e.printStackTrace();
}
}
int j = 0;
for(MultipartFile f:filesB){
File file1 ;
String name="";
try {
if (f instanceof CommonsMultipartFile) {
//转换成这个对象,然后我们需要通过里面的FileItem来获得相对路径
CommonsMultipartFile f2 = (CommonsMultipartFile) f;
name = f2.getFileItem().getName();
System.out.println(name + " ---------相对路径");
file1 = new File(pathB + name.split("[.]")[0]+"注释"+j+f.getOriginalFilename().substring(f.getOriginalFilename().lastIndexOf(".")));
j++;
file1.mkdirs();
file1.createNewFile();
//写入磁盘
f.transferTo(file1);
}
System.out.println(f.getOriginalFilename() + " iii --------");
}catch (Exception e){
e.printStackTrace();
}
}
return "true";
};
仍有疑问可以加QQ275375496讨论