Ich lade eine Base64-Zeichenfolge hoch, aber GraphQL wird gehängt. Wenn ich die Zeichenfolge auf weniger als 50.000 Zeichen zerschneide, funktioniert es. Nach 50000 Zeichen macht graphQL nie die Auflösungsfunktion, gibt aber keinen Fehler. Auf den kleineren Saiten funktioniert es gut.Wie lade ich ein Bild mit GraphQL in AWS S3 hoch?
const file = e.target.files[0];
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onloadend =() => {
const imageArray = reader.result;
this.context.fetch('/graphql', {
body: JSON.stringify({
query: `mutation s3Upload($img: String!) {
s3Upload(file: $img) {
logo,
}
}`,
variables: {
img: imageArray,
},
}),
}).then(response => response.json())
.then(({ data }) => {
console.log(data);
});
}
const s3Upload = {
type: S3Type,
args: {
file: { type: new NonNull(StringType) },
},
resolve: (root, args, { user }) => upload(root, args, user),
};
const S3Type = new ObjectType({
name: 'S3',
fields: {
logo: { type: StringType },
},
});
Danke @ Richard. Das Tutorial, auf das Sie verwiesen haben, zeigt nicht, wie 'NewPostMutation.js' geändert werden muss. Ich habe versucht, diesem Tutorial zu folgen, aber bis jetzt kein Glück, um eine Datei auf s3 hochzuladen :-( – SaidAkh