获取 formData for file 文件名及文件
时间: 2024-10-13 16:04:05 浏览: 31
当你需要从 HTML 表单的 `FormData` 对象中获取文件上传的文件名和文件内容时,可以按照以下步骤操作:
1. **获取文件名(filename)**:
使用 `FormData` 的 `get()` 或者 `entries()` 方法来获取特定字段(通常是文件输入框的名称),然后检查它是否是一个 File 类型的值。如果存在,你可以通过 `File` 对象的 `name` 属性获取文件名。
```javascript
var form = new FormData(document.getElementById('your-form-id'));
var fileName = form.get('file-input-name') || form.entries().find(entry => entry[0] === 'file-input-name')[1].value.name;
```
2. **获取文件内容(file content)**:
为了读取文件的内容,你需要创建一个 `FileReader` 对象并调用其 `readAsArrayBuffer()`、`readAsText()` 或 `readAsDataURL()` 方法。这取决于你想如何处理文件数据(二进制、文本还是URL)。下面是一个简单的示例,展示如何读取文件为二进制数据:
```javascript
var reader = new FileReader();
reader.readAsArrayBuffer(form.get('file-input-name')); // 替换为实际文件名
reader.onload = function (event) {
var binaryData = event.target.result;
// 这里binaryData包含了文件的二进制数据
};
```
阅读全文