我需要一个超级复制简单的CGI Python照片上传

我需要一个超级复制简单的CGI Python照片上传,python,upload,cgi,Python,Upload,Cgi,我已经看了很多答案,但事实是,我只知道超基本的python,我真的需要帮助。我不知道操作系统模块或类似的东西,我不能使用PHP(无论如何我不知道,但这是不允许的),我需要一些简单易懂的东西 基本上,我需要一个CGI上传(我不需要HTML表单,我已经下载了那么多)来拍摄照片并保存它。就这样。我不需要任何花哨的地方来保存它,我只需要从表单中正确上传文件 我有各种版本的这个功能,我不能让他们工作,因为我不理解他们,所以请帮助 import cgi def savefile (filename, ph

我已经看了很多答案,但事实是,我只知道超基本的python,我真的需要帮助。我不知道操作系统模块或类似的东西,我不能使用PHP(无论如何我不知道,但这是不允许的),我需要一些简单易懂的东西

基本上,我需要一个CGI上传(我不需要HTML表单,我已经下载了那么多)来拍摄照片并保存它。就这样。我不需要任何花哨的地方来保存它,我只需要从表单中正确上传文件

我有各种版本的这个功能,我不能让他们工作,因为我不理解他们,所以请帮助

import cgi

def savefile (filename, photodoc):
    form=cgi.FieldStorage()
    name=form[filename]
    period=name.split(.)
    if period[1]=="jpeg" or period[1]=="jpg" or period[1]=="png":
        idk what to do
    else:
        make an error message 

重复问题,但以下是您需要的:

根据windows或linux,首先设置为二进制模式:

try:
    import msvcrt
    msvcrt.setmode (0, os.O_BINARY) 
    msvcrt.setmode (1, os.O_BINARY) 

except ImportError:
    pass
然后:

form = cgi.FieldStorage()
name = form[filename]
    period = name.split('.') #You need the quotes around the period
    if period[1]=='jpeg' or period[1] == 'jpg' or period[1] =='png':
    if upload.filename:
        name = os.path.basename(upload.filename)
        out = open(YOUR_FILEPATH_HERE + name, 'wb', 1000)
        message = "The file '" + name + "' was uploaded successfully"

        while True:
            packet = upload.file.read(1000)
            if not packet:
                break
            out.write(packet)
        out.close()
    else:
            print 'Error'
一些资料来源:

此cgi程序将“拍摄照片并保存。就这样。”


没有做的事情包括错误检查和安全检查,以及指定文件应保存在哪个目录中。

展示你的功能。与其要求答案“简化”到你的水平,不如试着让自己达到他们的水平:)如果你需要帮助了解编程概念,这个网站对你来说是一个很好的资源。但就目前情况而言,你的问题不是一个好问题,很可能不会得到回答。问题到底是什么?好吧,我想我并不想让它“哑巴化”,但我很确定有更简单的方法。显然,我可以花时间来教育自己,我正在努力,但我也受到时间的限制。问题是如何制作一个简单的CGI上传来保存照片。
#!/usr/bin/python2.7

import cgi
field=cgi.FieldStorage()['fieldname']
open(field.filename, 'wb').write(field.value)