java file 其他电脑上_将MultipartFile转换为java.io.File而不复制到本地计算机

我有一个Java Spring MVC Web应用程序。从客户端,通过AngularJS,我正在上传文件并将其作为Web服务发布到Controller。

在我的控制器中,我将它作为 MultipartFile获取, 并且可以将其复制到本地计算机。

但是我想将文件上传到 Amazone S3 存储桶。所以我必须将其转换为 java.io.File

。现在,我正在将其复制到本地计算机,然后使用jets3t 上载到S3 。

这是我在控制器中转换的方式

MultipartHttpServletRequest mRequest=(MultipartHttpServletRequest)request;

Iterator itr=mRequest.getFileNames();

while(itr.hasNext()){

MultipartFile mFile=mRequest.getFile(itr.next());

String fileName=mFile.getOriginalFilename();

fileLoc="/home/mydocs/my-uploads/"+date+"_"+fileName; //date is String form of current date.

然后我正在使用SpringFramework的FIleCopyUtils

File newFile = new File(fileLoc);

// if the directory does not exist, create it

if (!newFile.getParentFile().exists()) {

newFile.getParentFile().mkdirs();

}

FileCopyUtils.copy(mFile.getBytes(), newFile);

因此它将在本地计算机上创建一个新文件。我在S3中赞扬的那个文件

S3Object fileObject = new S3Object(newFile);

s3Service.putObject("myBucket", fileObject);

它在我的本地系统中创建文件。我不想创造。

在本地系统中不创建文件的情况下,如何将 MultipartFIle 转换为 java.io.File ?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值