原生 javascript 向 flask 服务器 post 文件

2021-11-15 22:51:43 +08:00
 sudoy

想把文件从前端传到 flask 服务器,官方介绍的方式没问题,但是官方的方法是服务端渲染的。我想用 JavaScript 的fetch()上传,测试下来一直出错。请各位老哥,问有没有 JavaScript 原生的方法(不用其他第三方 JavaScript 框架)可以实现的?先行谢过!

982 次点击
所在节点    问与答
4 条回复
SilencerL
2021-11-15 23:49:29 +08:00
报错信息是啥,你这一点儿错误信息描述都没有咋判断是啥情况;
用 fetch 或者 xhr 都能实现上传的功能,就算是第三方的库也是基于 fetch 或者 xhr 封装的。

顺便建议阅读:
https://github.com/selfteaching/How-To-Ask-Questions-The-Smart-Way/blob/master/How-To-Ask-Questions-The-Smart-Way.md#be-precise-and-informative-about-your-problem
sudoy
2021-11-16 10:17:20 +08:00
@SilencerL 感谢回复!我更新了一下提问,并 append 在这个贴子上。代码和报错我都截图了。
SilencerL
2021-11-16 18:23:10 +08:00
@sudoy #2
看了下主要是 js 写的有点问题:
- 不用显示指定 『"Content-Type": "multipart/form-data"』
- body 需要一个 FormData 对象

----------

修改后的 upload 函数(部分):

const data = new FormData();
data.append("file", file);

await fetch('/v1/upload', {
method: 'POST',
body: data
});
sudoy
2021-11-16 19:44:33 +08:00
@SilencerL 非常感谢🙏

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/815640

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX