apollo 上载服务器
增强 阿波罗 用于通过 GraphQL 查询或突变上传直观文件。 与 a 一起使用 图QL 多部分请求 spec 客户端执行 例如 apollo-上载客户端。 。 。 .
设置
使用端点依赖安装 无数字 :
npm install apollo-upload-server graphql
之前添加中间软件 图表ql 服务器。 。 。 .
选项
maxFieldSize(整数): Max 允许在字节中非文件多部分形式字段大小; 足够您查询( 默认:1 MB) .maxFileSize(整数):最大允许的文件大小以字节为单位(默认:无限).maxFiles(整数):最大允许的文件数量(默认:无限).
科亚
import { apolloUploadKoa } from 'apollo-upload-server'
// …
router.post(
'/graphql',
koaBody(),
apolloUploadKoa(/* Options */),
graphqlKoa(/* … */)
)
快递
import { apolloUploadExpress } from 'apollo-upload-server'
// …
app.use(
'/graphql',
bodyParser.json(),
apolloUploadExpress(/* Options */),
graphqlExpress(/* … */)
)
自定义中间软件
中间软件包装合成函数 processRequest 接受节点js请求和可选 选项对象 作为论据。 它返回一个承诺,解决GraphQL服务器要消耗的操作对象(通常是请求正文). 导入它以创建自定义中间软件 :
import { processRequest } from 'apollo-upload-server'
Upload 斯卡尔
文件上传承诺可以解析包含:
streamfilenamemimetypeencoding
必须在您的类型和解决者中添加:
import { makeExecutableSchema } from 'graphql-tools'
import { GraphQLUpload } from 'apollo-upload-server'
const schema = makeExecutableSchema({
typeDefs: `scalar Upload`,
resolvers: { Upload: GraphQLUpload }
})
使用量
文件通过 a 上传 图QL 多部分请求 显示为 Upload 分级 在解析器参数中。 上传流可用于将文件存储在本地文件系统或云中. 另见 apollo-上载客户端使用 编辑 示例 API 和客户端。 。 。 .
支助
- 节点.js v 6.10+,参见
package.jsonengines。 。 。 .