我是与GraphQl反应的新手。
我想通过网络接口将所有类型文件上传到服务器。
我要做的就是使用继电器编写一个GraphQl突变,该中继将多部分数据发送到服务器。
我试图在Google上搜索它,但没有找到任何适当的解决方案。
GraphQl消息的唯一真正的标准传输是JSON HTTP帖子。"文件上传"根本不是GraphQL中的概念;您必须在JSON中编码文件内容(可能先对其进行编码(,并将其作为参数传递给突变,可能在"variables":
块中。
{
"query": "mutation Upload($name: String!, $contents: String!) { uploadFile(name: $name, contents: $contents) { id } }",
"variables": {
"name": "hello.txt",
"contents": "aGVsbG8gd29ybGQ="
}
}
您可能考虑的另一个路径是生成单使用上传URL。然后,您将有一个GraphQl突变,该突变启动上传并返回URL
mutation StartUpload($name: String) {
startUpload(name: $name) {
id
url
}
}
然后您的应用程序可以将文件发布到返回的URL。实施此操作是作为练习。