Я пытаюсь загрузить файл изображения с помощью graphql-dotnet , но это никогда не удается.
Я беру файловый объект в моем GraphQLController:
var files = this.Request.Form.Files;
var executionOptions = new ExecutionOptions
{
Schema = _schema,
Query = queryToExecute,
Inputs = inputs,
UserContext = files,
OperationName = query.OperationName
};
И вот моя Мутация:
Field<UserGraphType>(
"uploadUserAvatar",
Description="Kullanıcı resmi yükleme.",
arguments: new QueryArguments(
new QueryArgument<NonNullGraphType<IntGraphType>> { Name = "Id", Description = "Identity Alanı" }
),
resolve: context => {
var file = context.UserContext.As<IFormCollection>();
var model = userService.UploadAvatar(context.GetArgument<int>("Id"),file);
return true;
}
);
Я думаю, что он принимает единственный JSON.Он не принимает запрос как тип файла.
Также я использую React & apollo-client на стороне клиента.В консоли есть ошибка:
Не удалось загрузить http://localhost:5000/graphql: Нет заголовка 'Access-Control-Allow-Origin' в запрашиваемом ресурсе.Происхождение 'http://localhost:8080' поэтому не допускается.Ответ имеет HTTP-код состояния 500. Если непрозрачный ответ удовлетворяет вашим потребностям, установите режим запроса «no-cors», чтобы получить ресурс с отключенным CORS.
Я пытаюсь отправить запроскак это:
const { selectedFile,id } = this.state
this.props.uploadAvatar({
variables: {id},
file:selectedFile
}).then(result => {
console.log(result);
});
Что я могу сделать, чтобы достичь этого?