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

yipeiwu_com5年前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属性从而获取上传的文件名。

相关文章

关于Flask项目无法使用公网IP访问的解决方式

关于Flask项目无法使用公网IP访问的解决方式

最近在折腾Python Web,在测试的时候发现,本机可以正常访问,但外网无法通过公网IP访问页面。经过各种搜索,有大致三种解决方案。 一、修改/添加安全组端口 这是第一种方案,也是能解...

Python内置函数之filter map reduce介绍

Python内置了一些非常有趣、有用的函数,如:filter、map、reduce,都是对一个集合进行处理,filter很容易理解用于过滤,map用于映射,reduce用于归并. 是Py...

Python中IP地址处理IPy模块的方法

安装 先下载源码,地址:ps://pypi.python.org/pypi/IPy/">https://pypi.python.org/pypi/IPy/ ,然后解压后使用命令py...

Python QQBot库的QQ聊天机器人

Python QQBot库的QQ聊天机器人

本文实例为大家分享了Python QQBot库的QQ聊天机器人的具体代码,供大家参考,具体内容如下 项目地址:https://github.com/pandolia/qqbot 1.安装...

Pyqt QImage 与 np array 转换方法

项目使用Pyqt作为UI框架,使用相机线程捕捉image,并在QGraphicsView中显示,遇到以下问题: 1、采集的数据为nparray数据,需转换为QImage 转换代码如下:...