web.py获取上传文件名的正确方法

yipeiwu_com7年前Python基础

直接切入主题,从HTML页面上传文件,Python接收处理。但其中发现有些小问题,把它写出来,算是积累吧!

HTML页面代码:

复制代码 代码如下:

<form action="/admin/addgoodsaction/" method="post" enctype="multipart/form-data">
    <input type="file" name="image" />
</form>

Python处理部分代码:
复制代码 代码如下:

i=web.input()
return i.image.filename

执行结果切提示:
复制代码 代码如下:

<type 'exceptions.AttributeError'> at /admin/addgoodsaction/
'str' object has no attribute 'filename'

提示这个对象没有找到filename这个属性,一开始以为是接收对象错了,于是我直接
复制代码 代码如下:

i=web.input()
return i.image

结果能正常打印上传的图片。证明接收对象没有错误,可为什么接收的对象正确,却提示没有filename这个属性呢?
我改写了一下代码:
复制代码 代码如下:

i=web.input(image={})
return i.image.filename

上传一个hello.jpg的图片,结果打印hello.jpg,问题解决。从以上代码看如果不初始化image对象就找不到filename这个属性,而初始化以后才能获取filename属性从而获取上传的文件名。

相关文章

十个Python练手的实战项目,学会这些Python就基本没问题了(推荐)

十个Python练手的实战项目,学会这些Python就基本没问题了(推荐)

话不多说,直接开搞! 练习项目一:即时标记 补充utils.py: 练习项目二:画幅好画 练习项目三:万能的XML 练习项目四:新闻聚合...

python 简单的多线程链接实现代码

服务端: #!/usr/bin/env import SocketServer class myMonitorHandler(SocketServer.BaseRequestHand...

python 中split 和 strip的实例详解

 python 中split 和 strip的实例详解 一直以来都分不清楚strip和split的功能,实际上strip是删除的意思;而split则是分割的意思。 python...

Python获取当前时间的方法

我有的时候写程序要用到当前时间,我就想用python去取当前的时间,虽然不是很难,但是老是忘记,用一次丢一次,为了能够更好的记住,我今天特意写下获取当前时间的方法,如果你觉的对你有用的话...

树莓派用python中的OpenCV输出USB摄像头画面

树莓派用python中的OpenCV输出USB摄像头画面

本文实例为大家分享了python OpenCV来表示USB摄像头画面的具体代码,供大家参考,具体内容如下 确认Python版本 $ python Python 2.7.13 (def...