Я пытаюсь отправить изображение на сервер, веб-API работает, когда я тестирую его с помощью почтальона. Файл изображения пуст, когда я отправляю его из внешнего интерфейса.
этот код ниже отправляет из данных формы
const submit = useCallback(
async (values: PostExtensions) => {
debugger;
setLoading(true);
const date = dayjs(values.date );
values.date = dayjs(date , "YYYY-MM-DDTHH:mm:ss Z").format();
var imgdata = values.file![0];
const formdata: FormData = new FormData();
formdata.append("postId", values.postId!);
formdata.append("file", imgdata);
formdata.append("userId", values.userId!);
formdata.append("projectId", values.projectId!);
formdata.append("date", values.date!);
for (var pair of Array.from(formdata.entries())) {
console.log(pair[0] + ', ' + JSON.stringify(pair[1]));
}
await entitySubmit({ // entity submit is axios extensions for my crud op and state op.
values: formdata,
dispatch: dispatch,
returndata: true,
links: [
{
type: 0,
link: "gider/addpost",
actionType: ActionType.add_Post,
method: "POST",
},
{
type: 1,
link: "gider/editpost",
actionType: ActionType.edit_Post,
method: "POST",
},
],
id: "postId",
})
.then((res) => {
if (res) {
console.log(res);
setLoading(false);
setShow({ ...show, modal: false });
} else {
setLoading(false);
}
})
.catch(() => setLoading(false));
return null;
},
[show, dispatch]
);
Файл входит в values.file, но превращается в эту форму при отправке.
поле файла всегда получает это -> файл, "[объект объекта]"
Я не мог отправить объект файла на сервер
введите описание изображения здесь
РЕДАКТИРОВАТЬ 1: Я нашел решение, когда я пробую этот код
var imgdata = new Blob([values.file![0]], {type : 'image/jpeg'})
,
кажется, что работает, но Что делать, если изображение не является расширением jpg?