在 graphql 中处理文件上传的最佳方法是什么?
What is the best approach to handle file upload in graphql?
我正在寻找一种在由 prisma (graphcool) 提供支持的后端处理文件上传的方法。但是我是一个初学者,它看起来很吓人,而且我对文件上传的工作原理一无所知。最好的方法是什么?我可以使用 prisma 来做吗?我对 Amazon S3 存储桶不太满意,但它看起来像是一个复杂的开始方法。
有很多方法可以做到这一点。我将列出一些解决方案和资源,您应该有所作为。
两种常见的处理方法主要区别在于持久化上传文件的方法,直接上传到服务器文件系统与上传到 云服务,通常是 S3。
对于大多数用例,第二种选择,即上传到云服务会更好,因为它易于扩展,易于在类似 S3 的东西中备份数据,以及附加的安全功能,如签名 url。特别是使用 S3 的另一件巧妙的事情是,您可以利用 AWS Athena,(AWS)将其描述为
an interactive query service that makes it easy to analyze data in Amazon S3 using standard SQL
请注意,下面的示例都利用了 Jayden Seric 的出色工作,他使用 GraphQL 完成了大量的上传工作。
- Upload to FS, API and react example: 上传文件到节点服务器文件系统
- middleware for apollo-upload-server:
apollo-upload-server
之上的小抽象,简化了服务器开发。此示例还展示了如何与 S3 集成。
我正在寻找一种在由 prisma (graphcool) 提供支持的后端处理文件上传的方法。但是我是一个初学者,它看起来很吓人,而且我对文件上传的工作原理一无所知。最好的方法是什么?我可以使用 prisma 来做吗?我对 Amazon S3 存储桶不太满意,但它看起来像是一个复杂的开始方法。
有很多方法可以做到这一点。我将列出一些解决方案和资源,您应该有所作为。
两种常见的处理方法主要区别在于持久化上传文件的方法,直接上传到服务器文件系统与上传到 云服务,通常是 S3。
对于大多数用例,第二种选择,即上传到云服务会更好,因为它易于扩展,易于在类似 S3 的东西中备份数据,以及附加的安全功能,如签名 url。特别是使用 S3 的另一件巧妙的事情是,您可以利用 AWS Athena,(AWS)将其描述为
an interactive query service that makes it easy to analyze data in Amazon S3 using standard SQL
请注意,下面的示例都利用了 Jayden Seric 的出色工作,他使用 GraphQL 完成了大量的上传工作。
- Upload to FS, API and react example: 上传文件到节点服务器文件系统
- middleware for apollo-upload-server:
apollo-upload-server
之上的小抽象,简化了服务器开发。此示例还展示了如何与 S3 集成。