V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
levinit
V2EX  ›  macOS

研究了 macos 的相簿文件管理模式

  •  
  •   levinit · 2021-07-07 22:39:21 +08:00 · 2556 次点击
    这是一个创建于 1264 天前的主题,其中的信息可能已经有所发展或是发生改变。

    macos 相簿

    相簿使用本地的数据库模式对图片 /视频(下统称文件)进行管理,可灵活地组织文件,可以为同一文件添加多个标签,归属于多个相簿,分配到多个项目。

    但是注意:

    • 文件两份问题

      相簿会将文件完全复制一份到.photoslibrary文件(实际是一个目录,只是在访达赋予了特别的显示模式)中,于是有了两份源文件!(为什么不出一种保留源文件位置的模式呢)。

      于是原来的文件留着意义变得奇怪???因为相簿中的文件不是对原文件的引用而是独立的复制个体,对相簿中文件的修改不会影响原文件,反之同理。如果维护两处,大量的修改行为就会使得管理凌乱,徒增时间精力。那还是删掉原来那份吧……

      同时意味着,要么不用相簿管理(因为两处存放互不同步,甚至查阅也是用相簿也没多大意义),如果使用相簿,那就把这个相簿当成原来的图片 /视频父目录使用。

      对于需要在其他系统中使用,参看下一条。

    • 目录层次破坏问题

      直接使用导入模式文件会破坏文件原有的目录层次结构,就不能导出恢复原来的目录结构,而且其.photoslibrary的格式文件是其他软件不能读取的,相簿文件内部的分类、标签、相簿对于其他系统毫无意义。

      也就是你入了坑就别想那么轻易地出来,apple 全家桶是最好的归宿,windows ? android ? Linux ? chromeos ?你就到处这 n 张没有目录层次的文件自己去慢慢重新组织吧!

      如果对文件的目录层次的存放有明确的需求,如果有多平台 /软件查询管理的需求:

      • 不要在”导入项目“中直接拖入多个目录,目录层次直接没了。

      • “我的相簿”下新建的相簿同上,导出无目录层次(所有文件只在一个目录中)

        • 删除相簿并不会删除相簿中的文件(因为一个文件可以从属于多个相簿,相簿中的文件指示一个文件来源的引用),因此一个相簿并不适合当成一个目录使用。
        • 从相簿中删除并不会删除图片 /视频并不会删除该文件(右键菜单中显示为从该相簿移除该相片 /视频)),原理同上。欲删除某图片 /视频,可在“图库”中找到该文件(或搜索找到),删除之(右键菜单中显示为删除该相片 /视频)。
      • 最佳模式:一定要在”我的相簿“中拖入目录,或者在我的相簿下新建的文件夹中拖入目录,这样可以直接把其中的文件夹往访达或桌面上拖拽导出来,仍然保持着原有的目录层次。

        • 导出目录是会在目录下创建同名子目录,将原来的文件放到子目录中(……)

          示例:原有 dir1 目录,其中有文件 a b,则到处后生成 dir 目录,其下还有一个 dir 目录,目录下才是 a b 两个文件。

        • 删除文件夹会删除其中所有文件。

        • 另,在相簿中查看会发现每个文件夹下会自动创建一个相簿,根据以上叙述,欲删除其中的文件应该直接删除该文件夹而不是删除这个相簿。

    ########

    结论,这特么没法用,我的 linux,windows,android,我的其他工具,网盘在线工具( icloud 除外)直接懵逼……简直是不给其他系统和软件玩 当然你完全用 apple 全家桶,或许没啥问题……

    15 条回复    2021-07-08 12:18:10 +08:00
    pupboss
        1
    pupboss  
       2021-07-07 22:49:37 +08:00 via iPhone
    我也做过类似的研究,可以补充一些。如果你想保证照片按顺序导入,不要拖拽到相册,只能从电脑 AirDrop 到手机

    再就是如果真的想维护一个照片文件夹,我的方案是选出你要的照片,清空手机,按照自己的命名习惯维护一个文件夹,之后导入手机。拍了新图之后,全部导出到电脑,手机端删除,精选的图修过之后重命名,维护自己的文件夹,之后把新的导回手机,周而复始
    1002xin
        2
    1002xin  
       2021-07-07 22:51:53 +08:00
    没太关心过,所有照片都是直接丢进去,备份一下 `.photoslibrary`
    levinit
        3
    levinit  
    OP
       2021-07-07 23:00:53 +08:00
    @pupboss 是的 这种就是用相簿当一个过渡
    camillo
        4
    camillo  
       2021-07-07 23:04:25 +08:00 via iPhone
    你应该把最后一段挪到开头😂Apple 的照片图库它就不是设计给跨平台使用的 因此根本在设计之初就没有考虑你的这些点
    levinit
        5
    levinit  
    OP
       2021-07-07 23:16:23 +08:00
    @camillo 是的 它完全可以出一个保持原来文件位置不动,只在 photoslibrary 中建数据库的选项,这没什么,很多软件多是这种逻辑,但是我估计这是不可能给做的……
    icestraw
        6
    icestraw  
       2021-07-08 00:43:45 +08:00   ❤️ 1
    其实抛开封闭性,再看图库的结构就全是优点了...
    目录层次:当然会有一张照片同时出现在多个相册的情况,比如同时属于某个人 /某个活动。这种情况下我并不希望照片存储两份。
    删除相簿:因为有上面情况的存在,我希望的删除模式就会变为“当我删除最后一个相册里的那张照片时,才真正删除原文件”。
    甚至,还有很多别的优点,譬如可以控制 App 只访问我部分照片的内容;又或者可以允许应用读取相册的时候,防止其删除相册;可以很方便的生成照片的缩略图,因此浏览的时候更为迅速,而不用在每个文件夹建立难以管理的 Thumbs.db ;可以方便的备份和恢复,因为有完整性检查所以更难出错,甚至备份的时候可以不备份缩略图,减小备份的大小;和 iOS 的相册可以完全同步,每个 App 会存储图片在以自己名称命名的相册中;等等等等
    这一切的方便,代价就是“封闭性”。只能说苹果的理念一向如此,具体选择就得看个人了。
    agagega
        7
    agagega  
       2021-07-08 00:58:28 +08:00
    Apple 平台有很多软件(照片、图书、音乐、影片,乃至备忘录)都用的几乎一个模子管理数据:一个数据库+一堆被数据库管理的文件+若干元数据。理论上这和平台没有关系,而且比传统的文件夹-文件更适合管理和同步资料。

    macOS 这个相簿比较烦人的是,好像只能选择一个资料库和 iCloud 同步。
    agagega
        8
    agagega  
       2021-07-08 00:59:08 +08:00
    @agagega
    如果有一个跨平台的资料库管理软件就好了,啊哈..
    dingwen07
        9
    dingwen07  
       2021-07-08 06:52:18 +08:00 via iPhone
    你可以试下 Google Photos,至少库和相册这方面也是类似的逻辑
    levinit
        10
    levinit  
    OP
       2021-07-08 08:31:47 +08:00 via Android
    @icestraw 当然 只要在 Apple 生态中,这些都成立
    levinit
        11
    levinit  
    OP
       2021-07-08 08:34:44 +08:00 via Android
    @agagega 数据库模式没问题,其他平台软件都是,只是他会把照片拉到自己目录,自成体系,也没有其他模式。导进去的层次结构导出来就多了一层目录这就比较烦
    miaomiao2014
        12
    miaomiao2014  
       2021-07-08 08:57:57 +08:00
    @dingwen07 google photos 有 macos 吗?
    ericwoflskin
        13
    ericwoflskin  
       2021-07-08 10:26:03 +08:00
    既想用人家的东西,又不想按人家的方式来,然后抱怨人家东西不和自己心意,这不都是自找的吗。
    数据库管理早就被认可是最科学的方式,你自己偏要用最原始最笨的文件夹,换我也不伺候。
    levinit
        14
    levinit  
    OP
       2021-07-08 11:39:11 +08:00 via Android
    @ericwoflskin 我没说数据库模式有问题。我研究下发现不合心意不能吐槽吗?反正它做出来就是最棒的不能说不好的点吗?文件夹就是笨吗?
    ericwoflskin
        15
    ericwoflskin  
       2021-07-08 12:18:10 +08:00   ❤️ 1
    @levinit #14 当然可以吐槽,只不过你的问题都是你自找的,仅仅你自己这么觉得,别人并不认同而已。文件夹笨不笨我就不评价了,至少可以肯定苹果觉得是笨的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   927 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 22:40 · PVG 06:40 · LAX 14:40 · JFK 17:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.