如何获取上传到Firebase的媒体的下载链接?

问题描述

我正在开发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 (将#修改为@)