java - google drive skd:无法上传文件的缩略图
问题描述
我试图避免为 Google Drive 存储保存缩略图,因为他们有一种方法可以为任何文件保存自定义缩略图(来源:https ://developers.google.com/drive/api/v3/file#uploading_thumbnails ) 但是每当我执行创建或更新方法时,它都无法正常工作,在 Gdrive 中我只能看到“无法预览文件。显示此图像时出现问题”,所以发生了一些事情。我正在使用 gdrive java sdk,代码如下:
//get file and thumbnailData
byte[] data = getData()
byte[] thumbnailBytes = getThumbnail();
File file = new File().setName(name);
//create thumbnail with data
File.ContentHints.Thumbnail thumbnail = new File.ContentHints.Thumbnail();
thumbnail.setMimeType("image/jpg");
thumbnail.encodeImage(thumbnailBytes);
//create content hints and add thumbnail to it
File.ContentHints contentHints = new File.ContentHints();
contentHints.setThumbnail(thumbnail);
file.setContentHints(contentHints);
File newFile = drive.files().create(file, new ByteArrayContent("", data)).execute();
ThumbnailsData 只是一个 jpg 文件
BufferedImage bImage = ImageIO.read(new java.io.File("sample.jpg"));
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ImageIO.write(bImage, "jpg", bos );
byte [] thumbnailBytes = bos.toByteArray();
这是输出。我做错了什么,有人可以帮忙吗?
解决方案
推荐阅读
- json - 纽曼:如何解析 JSON
- r - 有什么办法处理变量间的?
- json - 正则表达式:是否可以在捕获组内进行替换?
- excel - Excel 的自动填充功能如何适用于工作日、月份和年份?
- laravel - nignx不工作try_files css js(laravel)
- firebase - firebase auth 在 signInWithPhoneNumber 上返回 null
- c++ - 如何要求密码才能关闭窗口?
- sql-server - 将 Oracle CLOB 列转换为 Microsoft SQL varchar max
- amazon-web-services - 基于事件触发的 AWS Batch
- java - SocketChannel 是否必须在应用程序关闭时显式关闭?