亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

皮納塔文件系統(Pinata 文件系統)和 PinDrop

这是为The Pinata Challenge提交的投稿。

我创建的

Pinata 文件系统和 PinDrop 功能作为 Pinata 存储系统之上的一个层,允许用户使用文件夹和子文件夹来整理和可视化展示他们的文件。

它提供了一个接口,同时扩展了 Pinata 的特性。用户可以将文件关联到文件夹,并且可以执行许多通用功能,比如创建、删除和下载文件和文件夹。

灵感来源

我在第一天的“黑客松”上决定要制作一个快速私密的文件分享工具,因为这是我需要的东西。但因为事情太多,这个想法只好放弃了。

快进到截止日期前一天,我想到了群组功能,可以利用它。我可以利用关系型数据库通过自我参照创建层级结构,使其成为一个功能完备的平台来存储和整理文件。

经过连续24小时的不眠开发,我成功推出了Pinata文件系统的第一个版本。

静音文件夹

有一个我构思的功能叫做PinDrop(灵感来自AirDrop),它作为一个默认文件夹,在用户注册时,系统会默认创建该文件夹。
这个文件夹非常特殊,因为它没有子文件夹,用户可以将文件直接推入堆叠。以后再取用即可。该功能旨在实现用户在不同设备间的即时文件共享。未来它可能还会有自己的专用服务和路由。

演示

https://pinata-fs.vercel.app/

你可以在这里找到这个项目: 这是 GitHub 上的一个链接:https://github.com/mr-loop-1/pindrop

概览

为了未来

数据库最好的地方在于它不存储任何实际文件的信息。它只是对群组的层级表示。
目前看来可能有些冗余,这主要是因为注册时应用程序会要求jwt和网关认证,但我通过Discord得知正在开发新的身份验证提供者,一旦集成,应用程序将完全脱离与实际用户数据的关联。

技术堆栈(例如:前端技术、后端技术等)

后端:expressjs, knexjs, mysql,运行在 Railway 上
前端技术栈:vite react, tailwind,托管在 Vercel 上

简单概述

  1. 首先是登录/注册页面。注册时,需要输入有效的pinata jwt和网关url。但这些信息不会在客户端显示,仅供服务器使用。

  2. 这是挂载在"~/ "的根目录。其他所有文件夹都应从这里衍生。在Pinata里,用户首次注册时会创建这个根目录。

图片

支持的文件类型可以通过点击任何文件夹里的“添加文件”按钮来添加。添加后,文件会出现在 pinata 中对应文件夹的组里。

看这张图片: 这是一张示例图片。

除了在根目录的 pinDrop 文件夹(pinDrop 文件夹)之外,还可以在任何地方新建文件夹。

图片说明:这是一张示例图片
这是一张图片,点击可以查看。

点击文件夹即可进入该文件夹,我们还提供了一个返回按钮来返回上一级文件夹。若要回到根目录,请从 URL 中删除 id 参数。

图片

这是一张图片:图片说明

  1. 文件和文件夹可以使用右侧的按钮进行删除。pinDrop 文件夹不能被删除,因为它位于根目录。

  2. 文件可以通过下载按钮在新标签页打开。这通过一个1分钟内失效的签名链接实现。
我的这段代码

https://github.com/mr-loop-1/pindrop

提供了本地运行的说明。请在评论或GitHub问题中提出任何错误或问题。

更多详情。

请确认

  • 文件夹名称不能包含空格
  • 即使在不同的文件夹中上传相同的文件或文件名也不行,因为Pinata会将它们合并存储在一起
前行之路
  • 下载多个文件和整个文件夹
  • 目前删除文件夹时,子文件夹中的文件会处于悬空状态。(我尚未在Knex和Pinata的SDK中实现递归删除的查询。)
  • 进行了一些bug修复和字段验证工作
  • 当前要求用户手动提供其Pinata账户的jwt和网关信息。我计划将未来的Pinata OAuth提供者集成到应用程序中。
點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
軟件工程師
手記
粉絲
47
獲贊與收藏
152

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消