pgs*_*pgs 2 javascript svelte sveltekit
在新的 svelteKit 中,我无法上传带有表单 multipart/form-data 和多个属性的多个文件
+页面.svelte
<form
action="?/add"
method="post"
enctype="multipart/form-data"
>
<input
multiple
type="file"
name="file"
id="file"
accept="image/*"
/>
Run Code Online (Sandbox Code Playgroud)
+页面.server.js
export const actions = {
add: async ({ request, files }) => {
const data = await request.formData()
const file = data.get('file')
let filename
try {
if (file) {
const ext = file.name.split('.').pop()
filename = userName + '-' +Date.now().toString() + '.' + ext
let ab = await file.arrayBuffer()
console.log(Array.from(ab));
writeFileSync(`static/img/${filename}`, Buffer.from(ab, (e) => {
console.log(e)
}))
}
return { success: true }
} catch (e) {
console.log(e);
return { success: false };
}
}
}
Run Code Online (Sandbox Code Playgroud)
这段代码只上传一个文件。如何获取文件数组?
getAll如果为同一字段名称提供了多个值,则可以使用一个函数:
const data = await request.formData();
const files = data.getAll('file');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4082 次 |
| 最近记录: |