【发布时间】:2021-11-10 23:36:23
【问题描述】:
我有以下 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函数不起作用。我也尝试将输入包装在表单元素中,但这不起作用。
【问题讨论】:
-
如果你在
handleChange()中登录files- 你会得到什么? (+ 我认为倍数不应该用花括号..?) -
+ 是
on:change=而不是onChange -
读取 .csv 文件 Papa Parse 可能会有帮助
-
@Corrl 我已将 onChange 更改为 on:change 和日志文件,但是没有记录任何内容。
-
这很奇怪,看看this REPL它在哪里工作(你不必将FileList转换为数组,你可以用for-of-loop迭代它)