svelte - 处理来自元素
问题描述
我有以下 Svelte 脚本来上传文件
<script lang="typescript">
let files = [];
export let multiple = true;
function handleChange(e) {
files = Array.from(e.target.files);
// process the contents of each file
}
</script>
Upload a csv of the measurements:
<input type="file" {multiple} onChange={handleChange} />
<div>
{#each files as f}
{f.name}, {f.size}, {f.type},
{/each}
</div>
我想访问每个文件的内容并通过将它们路由到端点来处理它们。我应该在对端点的 fetch post 请求函数的主体中引用哪些数据?
只是在做
fetch("endpoint", {method: "POST", body: JSON.stringify(files)})
handleChange 函数内部不起作用。我也尝试将输入包装在表单元素中,但这不起作用。
解决方案
我通过使用 papa.parse 函数在 Svelte 中使用 Paparse 解决了这个问题:
<script lang="typescript">
import papa from 'papaparse';
function handleChange(event) {
let files = event.target.files;
for (let f of files) {
papa.parse(f, {
header: true,
complete: function (results) {
console.log(results);
}
});
}
}
</script>
Upload a csv of the measurements:
<input type="file" on:change={handleChange} />
推荐阅读
- ios - 从 Unity 到 iOS,如何完美自动化框架、设置和 plist?
- java - 如何删除 ArrayList 元素的逗号
- jquery - 当我将 jQuery 对象作为参数传递给函数时,它会发生什么?
- angular - Angular test spy not being called
- docker - 在 Ubuntu 上工作时在 CentOS 上构建 docker 映像导致“stat /bin/sh:没有这样的文件或目录”
- hadoop - 将文件上传到 HDFS 会自动以分布式方式存储文件吗?
- sql-server - 从 varchar 到 int 的 SQL Proc“转换失败”。为什么要转换?
- recursion - 我怎样才能让这棵树正常工作?
- mysql - MYSQL-显示聘用年数
- java - 同步方法的锁定行为