python3上传文件_Python3 本地测试上传文件

可能刚刚开始很多同学没有接触过HTML,以及一些form表单内的file 不知道如何提交。 本文粗略介绍,一个简单的例子。

准备

本例子是基于 python3 + windows10.

首先,我们可以在任何一个地方 创建一个 文件夹 www

然后在 www 内 再创建两个文件夹 cgi-bin 和 files

目录结构是这样子的

structure.png

说明一下:

www -- 里面放 html 文件

cgi-bin -- 里面放 py 文件

files -- 里面存放 用户上传的文件

接下来是开始写我们简单的 html 页面,请放置于 www 文件夹下

upload.html

enctype="multipart/form-data">

Filename:

接下来写 server.py ,放置于 cgi-bin 文件夹内

#!/usr/bin/python

#coding=utf-8

# Import modules for CGI handling

import cgi, os

import cgitb;

cgitb.enable()

form = cgi.FieldStorage()

# Get filename here.

fileitem = form['uploadfile']

# Test if the file was uploaded

if fileitem.filename:

# directory traversal attacks

fn = os.path.basename(fileitem.filename)

# get store path and save it

open(os.getcwd()+'/files/' + fn,'wb').write(fileitem.file.read())

message = 'The file "' + fn + '" was uploaded successfully'

else:

message = 'No file was uploaded'

print('Content-type:text/html \n\n')

print('file %s' % message)

到此为止,目录结构是这样的

sturcture.png

测试

可以通过cmd 命令 进入到 www 所在目录

进入到www目录.png

执行 python3 内置的 CGIHTTPServer 服务

python -m http.server --cgi

run server.png

浏览器打开页面

http://localhost:8000/upload.html

upload.html

测试一下提交文件

桌面上准备个图片

prepare image.png

选择图片

selet file.png

提交

submit.png

查看 files 目录

success.png

再测试提交一个 txt 文件

txt file .png

上传成功

uploaded.png

查看 files 目录

image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值