问题描述
我正在开发Springboot REST API,并且我的一个端点将多媒体文件上传到Firebase,到目前为止,我已经成功做到了。
我不知道如何获取链接,我们可以从中打开并下载文件。 这是我以前做的代码:
public OptivacWsResponse<String> uploadMedia(@RequestParam("file") multipartfile file,HttpServletRequest request,@PathVariable String nom throws OptivacFunctionnalException,IOException {
final File file2 = convertMultiPartToFile(file);
String filename=file.getoriginalFilename();
StringBuilder build = new StringBuilder(filename);
build.delete(filename.indexOf("."),filename.length());
String filename2= build.toString();
Path filePath = file2.toPath();
if(checkFileExtension(filename)==true) {
try {
initFirebaseApp();
Bucket bucket = StorageClient.getInstance().bucket();
String extension =FilenameUtils.getExtension(filename);
if(extension.comparetoIgnoreCase("jpg")==0 || extension.comparetoIgnoreCase("jpeg")==0 ||extension.comparetoIgnoreCase("png")==0 || extension.comparetoIgnoreCase("webp")==0 || extension.comparetoIgnoreCase("gif")==0) {
bucket.create(nom+"/"+filename2,Files.readAllBytes(filePath),"image/"+extension);
}
if(extension.comparetoIgnoreCase("flv")==0
|| extension.comparetoIgnoreCase("avi")==0 ||extension.comparetoIgnoreCase("mp4")==0 || extension.comparetoIgnoreCase("mkv")==0) {
bucket.create(nom+"/"+filename2,"video/"+extension);
}
String url= "https://storage.googleapis.com/<NOM_PROJET_FIREBASE>/"+nom+"/"+filename2;
return new OptivacWsResponse<String>(url);
}catch(Exception e) {
e.printstacktrace();
throw new OptivacFunctionnalException("une erreur est survenue lors de l'upload de l'image");
}
}else {
throw new RequestValidationException("le fichier doit etre une image ou une vidéo");
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)