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

 更新时间:2014年08月26日 09:39:17   投稿:junjie  
这篇文章主要介绍了web.py获取上传文件名的正确方法,遇到这个问题的朋友可能会困惑半天,使用本文的正确方法就可以解决这个问题了,需要的朋友可以参考下

直接切入主题,从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中标准模块importlib详解

    Python中标准模块importlib详解

    这篇文章主要给大家详细介绍了Python中标准模块importlib的使用方法和示例,非常简单,有需要的小伙伴可以参考下
    2017-04-04
  • python版百度语音识别功能

    python版百度语音识别功能

    这篇文章为大家详细主要介绍了python版百度语音识别功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • Django ManyToManyField 跨越中间表查询的方法

    Django ManyToManyField 跨越中间表查询的方法

    今天小编就为大家分享一篇Django ManyToManyField 跨越中间表查询的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • 深入了解Python中frozenset的功能与用法

    深入了解Python中frozenset的功能与用法

    在Python中,frozenset是一种与set类似的数据类型,但具有不可变性,本文将详细介绍frozenset的作用、用法以及与set的区别,感兴趣的可以了解下
    2024-01-01
  • Python的字符串操作简单实例

    Python的字符串操作简单实例

    这篇文章主要介绍了Python的字符串操作简单实例,字符串有许多种操作方式,本文带来几个操作实例,快来一起看看吧
    2023-04-04
  • django做form表单的数据验证过程详解

    django做form表单的数据验证过程详解

    这篇文章主要介绍了django做form表单的数据验证过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • 一款强大的端到端测试工具Playwright介绍

    一款强大的端到端测试工具Playwright介绍

    这篇文章主要为大家介绍了一款强大的端到端测试工具Playwright介绍,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • Python实现PS滤镜Fish lens图像扭曲效果示例

    Python实现PS滤镜Fish lens图像扭曲效果示例

    这篇文章主要介绍了Python实现PS滤镜Fish lens图像扭曲效果,结合实例形式分析了Python实现PS滤镜的图像扭曲效果相关操作技巧,需要的朋友可以参考下
    2018-01-01
  • Python threading和Thread模块及线程的实现

    Python threading和Thread模块及线程的实现

    这篇文章主要介绍了Python threading和Thread模块及线程的实现,Python通过两个标准库thread和threading提供对线程的支持,threading对thread进行了封装,具体实现介绍需要的朋友可以参考一下下面文章内容
    2022-06-06
  • python3中利用filter函数输出小于某个数的所有回文数实例

    python3中利用filter函数输出小于某个数的所有回文数实例

    今天小编就为大家分享一篇 python3中利用filter函数输出小于某个数的所有回文数实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11

最新评论