如何将多个文件输入附加到formData?

我有一个基本的多个文件输入。选择一个或几个图像时,我触发uploadImages功能。此函数返回一个错误,因为我似乎无法遍历我的文件以将它们附加到 formData:

错误类型错误:files.forEach 不是函数

这里的错误在哪里?

<input

        type="file"

        accept="image/png, image/jpeg"

        placeholder="upload"

        multiple

        onChange={(e) => uploadImages(e.target.files, 3)}

      />

      

export async function uploadImages(files, userid) {

  try {

    const images = new FormData();

    if (files && files.length > 0) {

      files.forEach((file) => images.append("image", file));

    }

    const res = await ax.post(

      process.env.SERVER_URL + "/upload-images",

      images,

      userid

    );

    return console.log("success", res);

  } catch (err) {

    console.log("error", err);

  }

}


慕婉清6462132
浏览 105回答 1
1回答

胡说叔叔

现在,HTMLInputElement.files返回 aFileList而不是Array.&nbsp;这意味着您不能在其上使用数组方法。将来,这可能会更改为扩展Array.您可以使用files&nbsp;=&nbsp;[...files]在函数开始时将 转换FileList为Array.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript