gpt4 book ai didi

java - 当我将图像存储在谷歌驱动器上时如何在我的项目中显示缩略图

转载 作者:行者123 更新时间:2023-11-30 07:53:27 28 4
gpt4 key购买 nike

我正在成功上传文档并存储在 Google 云端硬盘上。现在我只想获取文档的缩略图以显示在下载链接的位置。请建议我该怎么做?这是我用于上传文档的 Controller 代码。

'`@RequestMapping(value = "/upload", method = RequestMethod.POST)
public ModelAndView uploadFile(@RequestParam(value = "ddid", required = true) Integer ddid,
@RequestParam(value = "catageryId", required = true) Integer catageryId,
@RequestParam(value = "document", required = true) GMultipartFile document[], HttpServletRequest request, HttpServletResponse resp) {

DdeDriveDocuments ddeDriveDocuments = new DdeDriveDocuments();
if (ServletFileUpload.isMultipartContent(request) && document != null) {
for (GMultipartFile gdocument : document) {
try {
boolean user = true;
List<DdeDriveDocuments> dds = ddeDriveDocumentsService.fatchData(ddid, catageryId);
for (DdeDriveDocuments file : dds) {
System.out.println(file.getDocument_name());
if (file.getDocument_name().equals(gdocument.getOriginalFilename())) {
user = false;
}
}

if (user == true) {
ddeDriveDocuments
.setDocument_name((gdocument.getName() != null ? gdocument.getOriginalFilename() : ""));
System.out.println(gdocument.getOriginalFilename());
ddeDriveDocuments.setDocument_created(new Date());
ddeDriveDocuments.setCatagery_id(catageryId);
ddeDriveDocuments.setDd_id(ddid);
ddeDriveDocuments.setDd_uuid(GeneralUtil.getUUID());

Lawyer googleAuthToken = lawyerService
.getAuthorisedUserToken(Configurator.getInstance().getDriveAccountEmail());
if (googleAuthToken != null) {
// upload file in drive
if (ServletFileUpload.isMultipartContent(request) && document != null) {

// It's value either we need to get from form.
String description = "Testing";

File file = DriveService.uploadDocumentToDrive(googleAuthToken, gdocument,
ddeDriveDocuments.getDocument_name(), description);



File thumFile = DriveService.getFileById(googleAuthToken, file.getId());

System.out.println("thab url"+thumFile.getThumbnail());

System.out.println(file.getThumbnailLink());



if (file != null) {
ddeDriveDocuments.setDocument_drive_id(file.getId());
ddeDriveDocuments.setThumburl(thumFile.getThumbnailLink());
ddeDriveDocuments = ddeDriveDocumentsService.create(ddeDriveDocuments);
}
}
} else {
System.out.println("Autorised token not available for configured drive account.");
}

}

else {
System.out.println("wroung Input");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

return new ModelAndView("redirect:/al/lawyer/ddfiles/" + ddid + "/" + catageryId);
}`'

最佳答案

您必须使用 Drive REST API 方法 Files: get 。该方法的结果包含 thumbnailLink 但根据 documentation它是“指向文件缩略图的短暂链接”。通常持续几个小时。”

或者,如果您只是想显示一些漂亮的内容,您可以获取文件的内容类型或扩展名,并显示该类型的所有文件的通用缩略图。我建议这样做是因为根据我的经验,驱动器 api 不是响应速度快的 api 之一。

或者或者另外,您可以/应该在应用程序中缓存缩略图,减少驱动器 api 请求的数量,从而提高页面性能。

关于java - 当我将图像存储在谷歌驱动器上时如何在我的项目中显示缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33009056/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com