web.py获取上传文件名的正确方法
程序员文章站
2022-06-14 12:16:16
直接切入主题,从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属性从而获取上传的文件名。
直接切入主题,从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解决鸡兔同笼问题的方法