如何在Spring Boot中同时上传多个文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Spring Boot中同时上传多个文件相关的知识,希望对你有一定的参考价值。
参考技术A @RequestMapping(value="/batch/upload", method=RequestMethod.POST)public @ResponseBody
String handleFileUpload(HttpServletRequest request)
List<MultipartFile> files =((MultipartHttpServletRequest)request).getFiles("file");
MultipartFile file = null;
BufferedOutputStream stream = null;
for (int i =0; i< files.size(); ++i)
file = files.get(i);
if (!file.isEmpty())
try
byte[] bytes = file.getBytes();
stream =
new BufferedOutputStream(new FileOutputStream(new File(file.getOriginalFilename())));
stream.write(bytes);
stream.close();
catch (Exception e)
stream = null;
return "You failed to upload " + i + " =>" + e.getMessage();
else
return "You failed to upload " + i + " becausethe file was empty.";
return "upload successful";
这是后台的实现,如果需要前端的实现,请回复
java - 如何在Java Spring Boot上的firebase存储中获取上传文件的downloadURL
【中文标题】java - 如何在Java Spring Boot上的firebase存储中获取上传文件的downloadURL【英文标题】:How to get downloadURL of uploaded file in firebase storage on Java Spring Boot 【发布时间】:2022-01-13 11:35:47 【问题描述】:在 Java Spring boot 中,我可以使用 firebase-admin sdk 获取签名的 url。
Bucket bucket = StorageClient.getInstance().bucket();
Storage storage = bucket.getStorage();
BlobInfo blobInfo = BlobInfo.newBuilder(bucket.getName(), storeFileName)
.setContentType(fileType).build();
URL url = storage.signUrl(blobInfo, 5, TimeUnit.DAYS, Storage.SignUrlOption.withV4Signature());
String signedPath = url.toString();
但我需要在 Java Spring Boot 中获取 downloadUrl 而不是签名 url,如下面的颤振代码。
// Flutter Code
Reference ref = FirebaseStorage.instance.ref().child(storePath);
String url = (await ref.getDownloadURL()).toString();
我无法在 Java Spring 中添加 Firebase-Storage sdk,只能使用移动设备。
https://mvnrepository.com/artifact/com.google.firebase/firebase-storage/11.0.2
【问题讨论】:
【参考方案1】:用于 Cloud Storage 的 Admin SDK 是针对这些平台的 GCP 库的非常精简的包装器,它们确实不提供 getDownloadURL
方法。
与 GCP SDK 最接近的等价物是所谓的signed URL,它类似于下载 URL,但有一个过期时间戳。
如果这不能满足您的需求,您可以在文件上设置元数据属性以自行生成下载 URL,如以下答案所示:Get Download URL from file uploaded with Cloud Functions for Firebase。
【讨论】:
以上是关于如何在Spring Boot中同时上传多个文件的主要内容,如果未能解决你的问题,请参考以下文章
java - 如何在Java Spring Boot上的firebase存储中获取上传文件的downloadURL
如何在不使用GridFSTemplate的情况下在spring boot应用程序中上传和检索mongodb中的文件?
如何在spring-boot中添加多个application.properties文件?