📎 回形针|Hydrogen 的附件中心
Go to file
2024-07-29 14:41:28 +08:00
.github/workflows 🎉 Initial Commit 2024-05-17 15:59:51 +08:00
.idea 🚀 Fix everything and ready to launch! 2024-07-29 01:47:33 +08:00
pkg Background scan for unanalyzed files 2024-07-29 14:41:28 +08:00
.air.toml 🎉 Initial Commit 2024-05-17 15:59:51 +08:00
.gitignore 🎉 Initial Commit 2024-05-17 15:59:51 +08:00
Dockerfile 🔨 Clean up dockerfile 2024-06-22 18:09:41 +08:00
go.mod Background scan for unanalyzed files 2024-07-29 14:41:28 +08:00
go.sum Background scan for unanalyzed files 2024-07-29 14:41:28 +08:00
license 🎉 Initial Commit 2024-05-17 15:59:51 +08:00
README.md Basic queue for processing 2024-07-28 21:03:56 +08:00
settings.toml 🐛 Bug fixes and logging 2024-07-29 13:22:57 +08:00

Hydrogen.Paperclip

Paperclip is the unified attachment service for all hydrogen services. It contains file metadata compute, instant upload, calculating hashing, multi destination, media info and more features!

Features

Paperclip store and processing uploaded files with pipeline flow. When a user try to upload files. The file will store in local first for media processing.

Then the server will publish a message into the message queue. And the background consumer will start dealing with the uploaded files.

The background consumer will hash the file and merge the files with same hashcode. The background consumer will decode the image and generate ratio and read more info from image file too.

After the processing done. The consumer will upload the file to the permanent storage like a s3 bucket and remove local cache. While the processing, the file record in database will marked to the temporary and load file from the temporary storage. When the processing done, the file record will be updated.

Supported Destinations

  • Local filesystem
  • S3 compilable bucket