起笔于 

Flomo浮墨数据迁移至Memos

碎碎念

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

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

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

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

迁移思路

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

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

实现方法

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

multipart切片
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

浮墨浅谈


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

本站由 @钟意 使用 Stellar 主题创建

本页面被看光 次 | 全站看光 次 | 总接客