Flask Web开发入门(八)之文件上传

https://blog.csdn.net/kangkanglou/article/details/79027425

前端:详情见上面的链接/也可以直接用form表单发post

<!DOCTYPE html><html><head><title>Html5 Ajax 上传文件</title><script type="text/javascript">function UpladFile() {var fileObj = document.getElementById("file").files[0]; // js 获取文件对象console.log(fileObj)console.log(fileObj.name)var FileController = "http://127.0.0.1/upload/" + fileObj.name;          // 接收上传文件的后台地址// FormData 对象var form = new FormData();form.append("author", "hooyes");                        // 可以增加表单数据form.append("file", fileObj);                           // 文件对象// XMLHttpRequest 对象var xhr = new XMLHttpRequest();xhr.open("post", FileController, true);xhr.onload = function () {alert("上传完成!");};xhr.upload.addEventListener("progress", progressFunction, false);xhr.send(form);}function progressFunction(evt) {var progressBar = document.getElementById("progressBar");var percentageDiv = document.getElementById("percentage");if (evt.lengthComputable) {progressBar.max = evt.total;progressBar.value = evt.loaded;percentageDiv.innerHTML = Math.round(evt.loaded / evt.total * 100) + "%";}}</script></head><body><progress id="progressBar" value="0" max="100"></progress><span id="percentage"></span><br/><input type="file" id="file" name="myfile"/><input type="button" οnclick="UpladFile()" value="上传"/></body></html>

后端视图:

from flask import Flask, request, render_templateapp = Flask(__name__)
app.debug = True@app.route('/upload/<filenames>', methods=['get', 'post'])
def save_file(filenames):if request.method == 'POST':file_obj = request.files['file']if file_obj:print(file_obj.filename)file_obj.save(file_obj.filename)  # filename是对象中有的keyreturn "上传成功"return render_template('upload.html')if __name__ == '__main__':app.run("0.0.0.0", 80)

注另解:直接通过form表单实现

https://blog.csdn.net/wanghandou/article/details/77877366

转载于:https://www.cnblogs.com/sunxiuwen/p/10032859.html

Flask Web开发入门相关推荐

  1. Flask Web开发入门(十一)之图片展现

    在Flask Web开发入门(十)之图片上传(使用Flask-Uploads)我们介绍了使用Flask插件Flask-Uploads上传图片,本章就此话题继续展开. 我们知道,我们可以通过UPLOAD ...

  2. Flask Web开发入门(十)之图片上传(使用Flask-Upload)

    在Flask Web开发入门(八)之文件上传中,我们探讨了Flask框架下的文件上传,本章我们将使用Flask插件Flask-Uploads示例说明的图片上传与展现如何实现 开始之前,我们先简单看下F ...

  3. Flask Web开发入门(九)之表单处理

    本章我们介绍Flask Web开发中的表单处理 application/json类型请求 前台请求代码: $.ajax({url: '/add', type: 'POST', data: JSON.s ...

  4. Flask Web开发入门(一)之简单的登录验证

    Flask is a microframework for Python based on Werkzeug, Jinja 2 and good intentions. 我们的目标是通过Flask实现 ...

  5. Flask Web开发入门(五)之日志

    作为码农,在开发功能中记录日志是必要且必须的,因为事情往往不像你想象的那样理想完美,就像你开发的代码那样,良好的日志习惯能助你快速排查定位问题,从 Flask 0.3 开始,Flask 就已经预置了日 ...

  6. python flask web开发入门与项目实战 pdf_Python Flask Web开发入门与项目实战

    领取成功 您已领取成功! 您可以进入Android/iOS/Kindle平台的多看阅读客户端,刷新个人中心的已购列表,即可下载图书,享受精品阅读时光啦! - | 回复不要太快哦~ 回复内容不能为空哦 ...

  7. flask web开发是前端还是后端_Flask Web开发实战:入门、进阶与原理解析 PDF 全格式版...

    给大家带来的一篇关于Flask相关的电子书资源,介绍了关于Flask.Web.开发实战方面的内容,本书是由机械工业出版社出版,格式为PDF,资源大小12.2M,李辉编写,目前豆瓣.亚马逊.当当.京东等 ...

  8. 《Flask Web开发实战:入门、进阶与原理解析》读书笔记

    写在前面 学docker编排,有一个用Flask框架的Demo,感觉挺方便,所以学习下 基于<Flask Web开发实战:入门.进阶与原理解析>做的读书笔记 个人还是比较喜欢看书,看书的话 ...

  9. 【python】 web开发入门

    进入Web开发 现在你完成了Python忍者训练,准备深入Ptyhon的Web开发,但现在的问题是有很多的框架,从中选择最好的框架非常困难,但从初学者的角度出发,Flask基本Web框架将非常适合We ...

最新文章

  1. Softmax 回归 vs. k 个二元分类器
  2. java swing 表格不显示_JAVA SWING 表头不显示问题
  3. CH4402 小Z的袜子(莫队)
  4. sublime快捷键代码对齐_Python配置sublime运行环境
  5. TCP控制字段标志:URG、ACK、PSH、RST、SYN、FIN
  6. gentoo linux 分区_小白安装Gentoo Linux操作系统——磁盘分区
  7. 超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大[转]...
  8. 各种字符串合并处理示例.sql
  9. Oracle11g新特性:在线操作功能增强-表增加包含默认值的字段(转载)
  10. 七种方法完美解救你爆满的C盘(瘦身+扩容)
  11. proteus显示隐藏引脚
  12. oracle19c报价_官宣:Oracle数据库19c在Oracle Exadata上发布啦!
  13. tensorflow if语句
  14. Log4j2写日志的艺术
  15. 机器学习服务活体检测算法荣获CFCA权威安全认证
  16. pcf85263 linux驱动源码,PCF85263AT/AJ
  17. CSAPP 3e Attack lab
  18. 通用mapper(mapper-mybatis)
  19. 【3dsMax】如何用VSocde写最简单的MaxScript脚本
  20. 科普一下IP路由基础

热门文章

  1. 杭电1978java实现
  2. 北大OJ百练——4074:积水量(C语言)
  3. 转:让 ThinkPad 的中键加小红帽模拟鼠标滚轮
  4. python3.7 pip安装_python3.7安装, 解决pip is configured with locations that require TLS/SSL问题...
  5. 怎么选择网管型和非网管型交换机
  6. IPv6静态路由怎么配置?
  7. 当 Kubernetes 遇到机密计算,阿里巴巴如何保护容器内数据的安全?
  8. 抛鸡蛋html5游戏,数学智力题:扔鸡蛋计算不会碎的楼层
  9. 搭建JMeter+Jenkins+Ant持续化
  10. navicat 怎么调试存储过程_Navicat 执行存储过程