保存进度!
This commit is contained in:
@@ -34,6 +34,7 @@ public class FileUpload
|
||||
* 3、MultipartFile参数形参名称必须和请求form中file标签的name属性一致,否则值为null。
|
||||
* 4、返回值为接收结果和文件保存绝对路径。
|
||||
*
|
||||
* @deprecated
|
||||
* @param taskName 任务名称字符串
|
||||
* @param files MultipartFile结构的文件对象
|
||||
* @param request HttpServletRequest对象实例
|
||||
@@ -41,61 +42,61 @@ public class FileUpload
|
||||
*/
|
||||
// @RequestMapping( path = "/file-upload.do" )
|
||||
// @ResponseBody
|
||||
public FileUploadResult getUploadFile(
|
||||
@RequestParam( "task-name" ) String taskName,
|
||||
@RequestParam( "files" ) MultipartFile file,
|
||||
HttpServletRequest request
|
||||
)
|
||||
{
|
||||
// session id用来创建临时目录,避免重复
|
||||
String sessionID = request.getSession().getId();
|
||||
FileUploadResult result = new FileUploadResult();
|
||||
Vector<String> fileNames = new Vector<String>();
|
||||
// public FileUploadResult getUploadFile(
|
||||
// @RequestParam( "task-name" ) String taskName,
|
||||
// @RequestParam( "files" ) MultipartFile file,
|
||||
// HttpServletRequest request
|
||||
// )
|
||||
// {
|
||||
// // session id用来创建临时目录,避免重复
|
||||
// String sessionID = request.getSession().getId();
|
||||
// FileUploadResult result = new FileUploadResult();
|
||||
// Vector<String> fileNames = new Vector<String>();
|
||||
|
||||
result.setSuccess( true );
|
||||
result.setMessage( "上传成功!" );
|
||||
// result.setSuccess( true );
|
||||
// result.setMessage( "上传成功!" );
|
||||
|
||||
String filePath = request.getServletContext().getRealPath( "/temp/upload/" + sessionID );
|
||||
File dir = new File( filePath );
|
||||
// String filePath = request.getServletContext().getRealPath( "/temp/upload/" + sessionID );
|
||||
// File dir = new File( filePath );
|
||||
|
||||
if ( !dir.mkdirs() )
|
||||
{
|
||||
// if ( !dir.mkdirs() )
|
||||
// {
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
// 检查文件长度,如果为0则跳过
|
||||
if ( file.isEmpty() )
|
||||
{
|
||||
result.setSuccess( false );
|
||||
result.setMessage( "不允许上传空文件。" );
|
||||
}
|
||||
else
|
||||
{
|
||||
// 保存文件到临时目录
|
||||
Long milliSecond = LocalDateTime.now().toInstant( ZoneOffset.of( "+8" ) ).toEpochMilli();
|
||||
String fileName = String.valueOf( milliSecond ) + file.getOriginalFilename();
|
||||
File destFile = new File( filePath, fileName );
|
||||
// String fileName = file.getOriginalFilename();
|
||||
// // 检查文件长度,如果为0则跳过
|
||||
// if ( file.isEmpty() )
|
||||
// {
|
||||
// result.setSuccess( false );
|
||||
// result.setMessage( "不允许上传空文件。" );
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// // 保存文件到临时目录
|
||||
// Long milliSecond = LocalDateTime.now().toInstant( ZoneOffset.of( "+8" ) ).toEpochMilli();
|
||||
// String fileName = String.valueOf( milliSecond ) + file.getOriginalFilename();
|
||||
// File destFile = new File( filePath, fileName );
|
||||
// // String fileName = file.getOriginalFilename();
|
||||
|
||||
try
|
||||
{
|
||||
file.transferTo( destFile );
|
||||
// 把上传文件的绝对路径保存,返回给前端
|
||||
fileNames.add( destFile.getAbsolutePath() );
|
||||
// try
|
||||
// {
|
||||
// file.transferTo( destFile );
|
||||
// // 把上传文件的绝对路径保存,返回给前端
|
||||
// fileNames.add( destFile.getAbsolutePath() );
|
||||
|
||||
result.setSuccess( true );
|
||||
result.setMessage( "上传成功" );
|
||||
result.setFileList( fileNames );
|
||||
}
|
||||
catch ( IOException error )
|
||||
{
|
||||
result.setSuccess( false );
|
||||
result.setMessage( "上传失败,原因:" + error.getMessage() );
|
||||
}
|
||||
}
|
||||
// result.setSuccess( true );
|
||||
// result.setMessage( "上传成功" );
|
||||
// result.setFileList( fileNames );
|
||||
// }
|
||||
// catch ( IOException error )
|
||||
// {
|
||||
// result.setSuccess( false );
|
||||
// result.setMessage( "上传失败,原因:" + error.getMessage() );
|
||||
// }
|
||||
// }
|
||||
|
||||
return result;
|
||||
}
|
||||
// return result;
|
||||
// }
|
||||
|
||||
/**
|
||||
* 接收上传文件,并保存到临时目录:
|
||||
|
||||
@@ -38,7 +38,7 @@ public class FileUploadResult extends QueryResponse
|
||||
public FileUploadResult(
|
||||
boolean success,
|
||||
String message,
|
||||
Vector<String> fileList
|
||||
Vector<UploadedFile> fileList
|
||||
)
|
||||
{
|
||||
super( success, message );
|
||||
@@ -46,17 +46,17 @@ public class FileUploadResult extends QueryResponse
|
||||
this.fileList = fileList;
|
||||
}
|
||||
|
||||
public Vector<String> getFileList()
|
||||
public Vector<UploadedFile> getFileList()
|
||||
{
|
||||
return fileList;
|
||||
}
|
||||
|
||||
public void setFileList( Vector<String> fileList )
|
||||
public void setFileList( Vector<UploadedFile> fileList )
|
||||
{
|
||||
this.fileList = fileList;
|
||||
}
|
||||
|
||||
@JsonProperty( "fileList" )
|
||||
private Vector<String> fileList;
|
||||
private Vector<UploadedFile> fileList;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
/**
|
||||
* @Author: Kane Wang <wangkane@qq.com>
|
||||
* @Date: 2025-10-31 17:33:13
|
||||
* @LastEditors: Kane Wang
|
||||
* @LastModified: 2025-10-31 17:36:03
|
||||
* @FilePath: src/main/java/com/cpic/xim/web/controllers/fileupload/UploadedFile.java
|
||||
* @Description:
|
||||
*
|
||||
* Copyright (c) 2025 by Kane All rights reserved
|
||||
*/
|
||||
package com.cpic.xim.web.controllers.fileupload;
|
||||
|
||||
public class UploadedFile
|
||||
{
|
||||
|
||||
private String fileName;
|
||||
private String localFilePath;
|
||||
|
||||
public String getFileName()
|
||||
{
|
||||
return fileName;
|
||||
}
|
||||
|
||||
public void setFileName( String fileName )
|
||||
{
|
||||
this.fileName = fileName;
|
||||
}
|
||||
|
||||
public String getLocalFilePath()
|
||||
{
|
||||
return localFilePath;
|
||||
}
|
||||
|
||||
public void setLocalFilePath( String localFilePath )
|
||||
{
|
||||
this.localFilePath = localFilePath;
|
||||
}
|
||||
|
||||
public UploadedFile( String fileName, String localFilePath )
|
||||
{
|
||||
this.fileName = fileName;
|
||||
this.localFilePath = localFilePath;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user