FlomoToMemos

Posted on 2026-03-03 16:59  笔名钟意  阅读(2)  评论(0)    收藏  举报

---
title: Flomo浮墨数据迁移至Memos
repo: ThatCoders/FlomoToMemos
layout: post
cover: 'https://upyun.thatcdn.cn/myself/typora/202305120037874.jpg'
banner: 'https://upyun.thatcdn.cn/myself/typora/202305120049147.jpg'
tags: ['Memos']
categories: ['堆栈']
description: '将Flomo浮墨导出的数据内容和附件图片等通过API上传到memos'
date: 2023-05-11 19:23:00
update: 2024-02-10 02:23:00

碎碎念

以前喜欢捣腾笔记软件, 然在两年前遇到 Flomo (一款功能相当简约毫不起眼的APP)。
一年后我发现我使用它的频率是所有笔记APP里最高的! (最长是Obsidian)

然后被 Cubox 取代, 诚然也有可能是 Flomo 过期我没续费。

今年初看到memos项目, 便萌生了继续使用Flomo(用memos代替)。因为 Cubox 更多的是琐碎时间浏览到需要的资料或者感兴趣的资料,
就转发到 Cubox 里面, 抽空再整理 Cubox 即可。Cubox 不太适合记录突发奇想、文摘、待办事项、感悟等内容。

这篇便是实现年初的想法, 把flomo全部数据转到memos! 开工!

  • 2023.8.18修改适配Memos的0.14版本
  • 2023.8.18修改支持创建时间一致
  • 2024.2.10修改适配Memos的0.19版本
    • 但是这次不支持时间同步,设置的时间参数不被memos接收

迁移思路

实现挺简单的, 但在git没看到完整的轮子, 便自己完善

  1. 将flomo浮墨导出的数据转成json文件 (这步其实有一个轮子flomoParse
    ,但让使用的人不用折腾两个不同语言项目就一起写成了python代码)
  2. 读取json文件将内容和附件图片等通过API上传到自己的memos

实现方法

实现在这里就不赘述, 代码比较明了。中途倒是遇到一个 python 实现 multipart/form-data; boundary={boundary} 切片上传(
直接上传整个图片文件会限制大小)的小问题 有空记录一下。

def upFile(filePath):
    boundary = '----ThatCoder.cn'  # 切片标识符
    fileName = filePath.split('/')[-1]
    with open("flomo/" + filePath, "rb") as f:  # 读取二进制文件内容
        file_data = f.read()
    # payload的encode()一个也不能删!!!
    payload = f'--{boundary}\r\nContent-Disposition: form-data; name="file";'.encode()
    payload += f'filename="{fileName}"\r\nContent-Type: {getType(fileName)}\r\n\r\n'.encode()
    payload += file_data
    payload += f'\r\n--{boundary}--'.encode()
    headers = Headers
    headers['Content-Length'] = str(os.path.getsize("flomo/" + filePath))
    headers['Content-Type'] = f'multipart/form-data; boundary={boundary}'
    response = requests.post(ApiBlob, headers=headers, data=payload)  # files参数上传方案 requests_toolbelt包
    return response.json()

使用方法

项目README有图文讲解, 本篇用来防止提问的人(大概率没有)找不到地方。
项目地址: FlomoToMemos

PS: 注意对应memos版本的分支

浮墨浅谈

{% swiper effect:cards %}
少楠
Flomo共建群
{% endswiper %}


昔者时光溢畅,余悠然自得,好炼煉微型软件。遇上浮墨,其简洁明了,且颜值甚高,遂投身其共修群聊。见开发者努力谋取,且妙趣横生,群友问题皆一一回复,群谈也和蔼可亲。证明喜欢一项产品,一部分为赏识开发团队之风采与行事方式。惟后来,再无后续之因缘。(
GPT)