当我们将文件添加到用户的Google云端硬盘中时,文件会显示并完美运行。但是当文件同步到他们的mac上时,他们最终会在文件名的末尾加上一些奇怪的guff。例如,像这样的代码:
file = drive.files.insert.request_schema.new({
'title' => "something.pdf",
'description' => "A nice pdf for you",
'mimeType' => content_type,
'parents' => [{
'kind' => 'drive#fileLink',
'id' => 'our folder id'
}]
})
media = Google::APIClient::UploadIO.new(file_on_disk, content_type)
client.execute(
:api_method => drive.files.insert,
:body_object => file,
:media => media,
:parameters => {
'uploadType' => 'multipart',
'alt' => 'json'})
用户会报告something.pdf20140910-4690-x8cnst-0
等文件名。我认为这是由于在比较谷歌驱动器和现代文件系统时对文件名的限制不同,但是我不确定我能做些什么来避免它?
答案 0 :(得分:0)
后缀是用于同步的特定程序的结果。我的猜测是它试图显示每个文件,甚至可能显示同一文件的几个版本。 在驱动器中,您可以拥有多个具有相同名称的文件,并且对于每个文件,您可以拥有多个版本。您可以通过多次将同一文件放到网站https://drive.google.com/#my-drive上来尝试此操作。通过右键单击文件,管理修订版,更新修订版,可以添加新版本。正如您所说,传统文件系统既不能显示具有相同名称的多个文件系统对象,也不能管理同一文件的多个版本。 根据您要实现的目标,您可以编写自定义应用程序,将文件与本地硬盘上的文件夹同步,或者通过自定义图形用户界面提供类似于驱动器的访问。 如果幸运的话,可以将mac上的同步程序配置为以您希望的方式显示文件。
可能程序甚至会使用相同的文件名,只要没有其他同名文件。在这种情况下,您应删除所有重复项。上传文件时,首先应检查是否存在具有相同名称的文件。如果它存在,您可以在上传新文件之前删除它,或者您可以获取其唯一ID并使用它来覆盖该文件。