`
chembo
  • 浏览: 940826 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

python cgi 上传大文件

阅读更多
#!E:\Python27\python.exe
import cgi, os
import cgitb; cgitb.enable()

try: # Windows needs stdio set for binary mode.
    import msvcrt
    import uuid
    msvcrt.setmode (0, os.O_BINARY) # stdin  = 0
    msvcrt.setmode (1, os.O_BINARY) # stdout = 1
except ImportError:
    pass

form = cgi.FieldStorage()

# Generator to buffer file chunks
def fbuffer(f, chunk_size=10000):
   while True:
      chunk = f.read(chunk_size)
      if not chunk: break
      yield chunk

# A nested FieldStorage instance holds the file
fileitem = form['file']

# Test if the file was uploaded
if fileitem.filename:

   # strip leading path from file name to avoid directory traversal attacks
   fn = os.path.basename(fileitem.filename)
  
   # Internet Explorer will attempt to provide full path for filename fix
   fn = fn.split('\\')[-1]
 
   # This path must be writable by the web server in order to upload the file.
   path = 'D:/upload/'
   filepath = path + fn

   # Open the file for writing 
   f = open(filepath , 'wb', 10000)

   # Read the file in chunks
   for chunk in fbuffer(fileitem.file):
      f.write(chunk)
   f.close()


   message = 'The file "' + fn + '" was uploaded successfully.'

else:
   message = 'No file was uploaded'

print """\
Content-Type: text/html\n
<html><body>
<p>%s</p>
</body></html>
""" % (message,)

分享到:
评论

相关推荐

    CGI文件上传

    在这个场景中,“CGI文件上传”指的是利用CGI来实现用户通过网页上传文件的功能。这一过程涉及了多个关键知识点,包括HTTP协议、HTML表单、CGI脚本以及服务器配置。 首先,了解HTTP协议是至关重要的。HTTP(超文本...

    Python库 | pythoncgi-0.0.18-py3-none-any.whl

    在给定的资源中,“pythoncgi-0.0.18-py3-none-any.whl”是一个与Python相关的库,名为“pythoncgi”,版本号为0.0.18,适用于Python 3环境。这个whl文件是一种预编译的Python包格式,使得用户可以直接安装而无需...

    html post上传文件

    这里,`enctype="multipart/form-data"`是关键,它指定表单数据将以多部分/形式数据格式发送,这是上传文件所必需的。 二、HTTP与POST请求 当用户提交表单时,浏览器会发起一个POST请求到指定的URL(在这个例子中是...

    Python实现基于HTTP文件传输实例

    本文实例讲述了Python实现基于HTTP文件传输的方法。分享给大家供大家参考。具体实现方法如下: 一、问题: 因为需要最近看了一下通过POST请求传输文件的内容 并且自己写了Server和Client实现了一个简单的机遇HTTP的...

    嵌入式web服务器boa_C语言/Python + HTML + javascript + ajax 代码实例例子

    上传文件: http://blog.csdn.net/yu_xiang/article/details/7996670 查找文件 find . -type f -name "boa.conf" -print -mount find . -type f -name "boa" -print -mount 四、嵌入式web服务器boa的配置和使用...

    CGI源码库文件

    4. 文件上传支持:对于处理表单中的文件上传,库通常会包含专门的API,帮助开发者处理二进制数据和文件流。 5. 安全性:库可能包含了安全措施,如防止缓冲区溢出和其他常见的攻击手段。 6. 多语言支持:一些CGI库...

    Python库 | bedrock_cgi-1.0.1-py3-none-any.whl

    今天,我们要深入探讨的是一款名为bedrock_cgi的Python库,版本为1.0.1,它封装在bedrock_cgi-1.0.1-py3-none-any.whl这个压缩包文件中。这款库主要针对CGI(Common Gateway Interface)应用,为Python开发者提供了...

    用 perl 实现文件上传

    - **ENCTYPE="multipart/form-data"**:这是一个关键属性,它告知浏览器使用多部分编码格式来封装表单数据,这是上传文件所必需的。 ### 后端Perl脚本处理 后端Perl脚本负责接收并处理来自前端的文件上传请求,其...

    用Python实现一个简单的能够上传下载的HTTP服务器

    # -: 解决不同浏览器下上传文件名乱码问题:仅IE,其它浏览器暂时没处理。 # -: 一些路径显示的bug,主要是 cgi.escape() 转义问题 # ?: notepad++ 下直接编译的server路径问题 """ 简介:这是一个 python

    CGI开发说明文档

    3. 文件上传下载:CGI可以处理文件上传和下载操作,如文件管理系统。 4. 定制化服务:例如天气预报、股票查询等实时信息,CGI可以根据用户请求动态获取并展示。 然而,随着Web技术的发展,CGI的一些缺点也逐渐显现...

    python_programs.tar.gz_python website

    4. **文件上传**:在Python中,可以使用内置的`cgi`模块或者Web框架提供的API来处理文件上传。通常需要验证文件类型、大小,并将其保存到服务器的特定目录。 5. **数据库交互**:如果上传的文件与数据库记录关联,...

    CGI.rar_CGI javascript_CGI linux_CGI 传感器_cgi_cgi功能的实现

    4. 文件上传下载:实现文件上传和下载功能,CGI可以处理这些请求并管理服务器上的文件。 5. 数据库交互:通过CGI与MySQL、PostgreSQL等数据库进行交互,执行查询、更新和插入操作。 这个压缩包可能包含以下内容: -...

    基于python2.7的linux webshell

    4. **其他辅助脚本**:可能包含一些辅助脚本,用于处理特定的命令或功能,如文件上传/下载。 使用这个Webshell时,需要注意安全问题。由于Webshell允许远程执行命令,如果不妥善管理,可能会成为黑客攻击的入口。...

    网页上传且将excel里数据传到数据库

    最后,考虑到性能和安全性,服务器应当对上传文件的大小、类型和频率进行限制,防止DoS攻击。同时,上传的文件可以被临时存储在服务器的某个目录,或者使用云存储服务如AWS S3、阿里云OSS。处理完成后,记得清理无用...

    修复CGI无法通过html传递参数表问题的lighttpd

    这可能导致上传文件功能失效,或者在需要获取用户输入的路径或文件名信息的其他CGI应用中出现问题。 CGI工作流程通常是这样的:用户在HTML页面上填写表单,点击提交后,浏览器发送一个HTTP POST请求,其中包含了...

    cgi.rar_cgi_cgi common gate_cgi html

    3. **扩展性**:通过CGI,开发者可以添加各种功能到网站,如数据库查询、用户认证、文件上传下载等。 然而,CGI也有一些局限性: 1. **性能问题**:每次用户请求都会启动新的CGI进程,这可能导致服务器资源消耗过大...

    CGI 开发使用手册.

    4. **文件上传下载**:通过CGI实现文件上传和下载功能,适用于文件分享平台。 5. **自定义错误页面**:当HTTP状态码需要定制化时,CGI程序可以生成特定的错误页面。 四、CGI的优缺点 优点: 1. **跨平台**:CGI脚本...

    cgi资源合集

    - 文件上传下载:处理文件上传和下载请求。 - 个性化服务:根据用户行为或偏好生成定制内容。 - 邮件系统:通过CGI发送邮件或管理邮件列表。 4. CGI的优缺点: - 优点:跨平台,支持多种编程语言,灵活性高。 ...

    CGI网站框架

    4. `netdisk_list.html`:这个文件可能代表网络磁盘的列表视图,用户可以查看、下载或者上传文件。 5. `index.html`:这是网站的主页,通常用于引导用户到其他页面或提供基本信息。 网站开发使用CGI框架有其优点和...

    CGI教程 (HTM).rar

    7. **实际应用案例**:通过实例演示如何使用CGI创建动态登录系统、动态查询数据库、处理文件上传等常见Web功能。 8. **CGI与现代Web技术的对比**:CGI虽然历史悠久,但随着PHP、ASP.NET、Node.js等更现代的Web开发...

Global site tag (gtag.js) - Google Analytics