python – 获取上传文件内容到wsgi
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 获取上传文件内容到wsgi,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1549字,纯文字阅读大概需要3分钟。
内容图文
我正在编写一个简单的wsgi脚本来上传文件.使用html表单.
以下是wsgi脚本,
import os
import cgi
import cgitb; cgitb.enable()
class upfile(object):
def __init__(self):
self.script_dir = os.path.dirname(__file__)
self.errors = []
def __call__(self, environ, start_response):
f = open(os.path.join(self.script_dir, 'upload.html'))
self.output = f.read()
f.close()
self.response_content_type = 'text/html;charset=UTF-8'
fields = None
if 'POST' == environ['REQUEST_METHOD'] :
fields = cgi.FieldStorage(fp=environ['wsgi.input'],environ=environ, keep_blank_values=1)
fileitem = fields['file']
fn = os.path.basename(fileitem.filename)
open('uploads/' + fn, 'wb').write(fileitem.file.read())
self.output = self.output % {"filepath":str(fields)} # Just to see the contents
response_headers = [('Content-type', self.response_content_type),('Content-Length', str(len(self.output)))]
status = '200 OK'
start_response(status, response_headers)
return [self.output]
application = upfile()
然后在我的HTML表单中,我像往常一样放置一个文件字段,
<input type='file' name='file' />
我的问题是字段(cgi.FieldStorage)只有文件名.没有文件内容.我希望文件内容不仅上传文件名.
以下是字段变量的值,
“FieldStorage(无,无,[MiniFieldStorage(‘file’,’CatchSkull-large.jpg’),MiniFieldStorage(’email’,’chamith @ gmail.com’),MiniFieldStorage(‘操作’,’上传’),MiniFieldStorage (‘当前’,’上传’)])“
请忽略其他字段,它们是表单上的其他字段.
提前致谢.
解决方法:
最后我想出了答案.我错过了将enctype放在HTML表单上,
<form id="upload" name="upload" method="POST" enctype="multipart/form-data">
然后一切都好了.
谢谢.
内容总结
以上是互联网集市为您收集整理的python – 获取上传文件内容到wsgi全部内容,希望文章能够帮你解决python – 获取上传文件内容到wsgi所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。