javascript - 在 react js中获取文件类型

标签 javascript html reactjs react-native input

在 react

const allInputs = { imgUrl: '' };
const [imageAsFile, setImageAsFile] = useState('');
const [imageAsUrl, setImageAsUrl] = useState(allInputs);
const [media, setMedia] = useState(null);

const handleImageAsFile = (e) => {
    const image = e.target.files[0]
    setImageAsFile(imageFile => (image));
    console.log(imageAsFile);

}
这是输入代码,当我单击此按钮时,会显示所有类型的文件,但我希望能够将它所在的文件类型存储在变量
<input type="text"
    id="phone"
    onChange={(e) => setPhone(e.target.value)}
/>
例如,如果我选择一个图像,如何知道我选择的图像类型?如果它是 png 或 jpg 或其他任何内容,然后将其上传到数据库。

最佳答案

首先,React Javascript 的工作方式与 Javascript 在任何地方的工作方式完全相同,为了访问图像类型,请参阅下面的代码,我添加了注释以便更好地理解。

const [imageAsFile, setImageAsFile] = useState('');
    const [imageAsUrl, setImageAsUrl] = useState(allInputs);
    const [media, setMedia] = useState(null);

 const handleImageAsFile = (e) => {
     //image var holds the file object which has a type property 
      const image = e.target.files[0];          
      console.log(image.type); // this will output the mime, i.e "image/png" or "image/jpg"
      setImageAsFile(imageFile => (image));
     console.log(imageAsFile);

  }

关于javascript - 在 react js中获取文件类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65439203/

相关文章:

javascript - jQuery 图像预加载

html - 字体、背景和页脚有问题

javascript - 如何在重新加载时加载不同的 div(按重复顺序)

html - 如何让我的图标与我的矩形显示在同一行?

reactjs - 在 setState 之后 react 钩子(Hook) setTimeout

javascript - 预期参数的类型为 `array`,但收到的类型为 `string` - image-webpack-loader

javascript - 将 Svg 绘制到 Canvas ,包括嵌入在 svg 中的图像

javascript - 如何在 JavaScript 的输入中包含多个 If 语句

javascript - JQuery JSON 数据不显示

reactjs - 无法读取 null 的属性 'state'