Почему поле файла пустое? Реагировать на загрузку файла в. net core web api - PullRequest
0 голосов
/ 10 июля 2020

Я пытаюсь отправить изображение на сервер, веб-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?

...