Javascript:更改输入文件类型?

标签 javascript html

我有一个简单的 HTML 文件输入:

<input type="file" id="file" onchange="__func">

一旦我在输入中加载文件,我就会调用__func:

function __func(event)
{
    let file = event.target.files[0];
        file.type = 'text/csv';
}

问题是当我尝试更改 __func 中的文件类型时,任一文件类型都不会更改,或者收到错误:

TypeError: "setting getter-only property "type""

如何使用 JavaScript 动态更改文件类型?我需要这样做,因为我通过 FormData 包装器发送文件,并且由于它是纯 CSV,因此无法正确检测内容类型并自动设置为 application/octet-stream

最佳答案

您可以使用切片方法创建新的File Blob。

const blob = file.slice(0, file.size, "text/csv")

关于Javascript:更改输入文件类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60864074/

相关文章:

javascript - 来自 svg-sprite 的 svg2png 的 UnhandledPromiseRejectionWarning

javascript - 使用按钮而不是href来触发div

javascript - jqplot:条形图的图例数据格式

javascript - 使用 MathJax 向 DOM 添加元素?

javascript - Chrome 中的图像预加载 Canvas

javascript - 以 Angular 计算 div1 和 div2 之间的距离

javascript - 如何在 fullCalendar 中编辑事件?

javascript - 在服务端渲染局部 View 或在客户端发送json数据渲染模板

javascript - 对 canvas 元素之外的元素使用 globalCompositeOperation

html - 创建一个包含五个链接的框,每个链接都有一个包含更多信息的弹出气泡