javascript - 在使用 javascript 使用 FileReader 上传之前更改文件的内容
问题描述
是否可以在使用 javascript 上传蜜蜂之前更改文件的内容?我可以阅读内容,但更改它似乎是不可能的。
f = document.getElementById('input').files[0];
var reader = new FileReader();
reader.onload = function(e){
console.log(e.target)
e.target.result = "new content"
console.log(e.target);
};
reader.readAsDataURL(f);
解决方案
您不能重写文件输入的值。
您可以获取文件的内容并使用 Ajax 发送它。
reader.onload = function(e){
const data = new FormData();
const url = this.result;
const blob = convertUrlToBlob(url);
data.append("file_input", blob, "filename.ext");
const xhr = new XMLHttpRequest();
xhr.open('POST', '/example/url');
xhr.send(data);
};
我不会详细介绍如何编写函数,这个问题convertUrlToBlob
涵盖了它。
推荐阅读
- google-apps-script - 是否存在检测 Google Apps 脚本中电子表格名称更改的触发器?
- javascript - 如何使用 map 函数过滤 key=>value 对?
- java - Spring Boot 中的自定义参数验证器
- angular - 如何使用量角器测试 Angular 材质拖放
- php - 下拉搜索列表需要有一个带有提交按钮的 html 表单
- r - 将 substr 与开始词和停止词一起使用,而不是整数
- java - Android getDatabase 递归调用错误
- php - 使用 PHP 从字符串中删除标点符号,但不在缩略词中
- python-3.x - 在 keras 模型之后计算 mse。预测看起来是错误的——更新需要先重塑数组
- wordpress - 如何使用 gatsby-source-wordpress 并将 ACF 添加到菜单、菜单项以及使用 GraphQL 进行查询