Python论坛  - 讨论区

标题:[python-chinese] python上传文件的过程

2006年11月20日 星期一 17:12

leopay leopay在gmail.com
星期一 十一月 20 17:12:48 HKT 2006

python上传文件是传到
服务器的/tmp下,还是服务器的内存中?

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年11月20日 星期一 17:40

limodou limodou在gmail.com
星期一 十一月 20 17:40:30 HKT 2006

On 11/20/06, leopay <leopay在gmail.com> wrote:
> python上传文件是传到
> 服务器的/tmp下,还是服务器的内存中?

与具体的应用有关。ftp上传是你指定一个目录上传的。web上传是由web server来处理的。不同的web server是不同的。

-- 
I like python!
UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年11月20日 星期一 17:44

leopay leopay在gmail.com
星期一 十一月 20 17:44:30 HKT 2006

±ÈÈçÊÇhttpÉÏ´«£¬ÄÇÊÇÔõô´¦ÀíµÄÄØ£¿

2006/11/20, limodou <limodou在gmail.com>:
>
> On 11/20/06, leopay <leopay在gmail.com> wrote:
> > pythonÉÏ´«ÎļþÊÇ´«µ½
> > ·þÎñÆ÷µÄ/tmpÏ£¬»¹ÊÇ·þÎñÆ÷µÄÄÚ´æÖУ¿
>
> Óë¾ßÌåµÄÓ¦ÓÃÓйء£ftpÉÏ´«ÊÇÄãÖ¸¶¨Ò»¸öĿ¼ÉÏ´«µÄ¡£webÉÏ´«ÊÇÓÉweb serverÀ´´¦ÀíµÄ¡£²»Í¬µÄweb serverÊDz»Í¬µÄ¡£
>
> --
> I like python!
> UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
> My Blog: http://www.donews.net/limodou
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20061120/37124e26/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年11月20日 星期一 17:48

limodou limodou在gmail.com
星期一 十一月 20 17:48:55 HKT 2006

On 11/20/06, leopay <leopay在gmail.com> wrote:
> 比如是http上传,那是怎么处理的呢?
>
不同的web framework是不一样的,但最基本的都是使用内存,所以上传后,先在内存里。然后在web
framework的应用中(比如django的view代码)中处理。象django上传后放在request.FILES中,然后可以得到上传文件的内容。如果使用model,则model有一个方法可以直接保存。它保存的地址是在settings.py中的MEDIA_ROOT的位置。如果不用django的方法,只要有内容,就可以简单的:

file(filename, 'wb').write(content)

这样就行了。所以,没有固定的地方,由应用来决定。

-- 
I like python!
UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年11月20日 星期一 17:53

leopay leopay在gmail.com
星期一 十一月 20 17:53:07 HKT 2006

Èç¹ûÎļþºÜ´óÄÚ´æ·Å²»Ï£¬Ôõô´¦Àí£¿

2006/11/20, limodou <limodou在gmail.com>:
>
> On 11/20/06, leopay <leopay在gmail.com> wrote:
> > ±ÈÈçÊÇhttpÉÏ´«£¬ÄÇÊÇÔõô´¦ÀíµÄÄØ£¿
> >
> ²»Í¬µÄweb frameworkÊDz»Ò»ÑùµÄ£¬µ«×î»ù±¾µÄ¶¼ÊÇʹÓÃÄڴ棬ËùÒÔÉÏ´«ºó£¬ÏÈÔÚÄÚ´æÀȻºóÔÚweb
> frameworkµÄÓ¦ÓÃÖÐ(±ÈÈçdjangoµÄview´úÂë)Öд¦Àí¡£ÏódjangoÉÏ´«ºó·ÅÔÚrequest.FILESÖУ¬
> È»ºó¿ÉÒԵõ½ÉÏ´«ÎļþµÄÄÚÈÝ¡£Èç¹ûʹÓÃmodel£¬ÔòmodelÓÐÒ»¸ö·½·¨¿ÉÒÔÖ±½Ó±£´æ¡£Ëü±£´æµÄµØÖ·ÊÇÔÚsettings.pyÖеÄMEDIA_ROOT
> µÄλÖá£Èç¹û²»ÓÃdjangoµÄ·½·¨£¬Ö»ÒªÓÐÄÚÈÝ£¬¾Í¿ÉÒÔ¼òµ¥µÄ£º
>
> file(filename, 'wb').write(content)
>
> ÕâÑù¾ÍÐÐÁË¡£ËùÒÔ£¬Ã»Óй̶¨µÄµØ·½£¬ÓÉÓ¦ÓÃÀ´¾ö¶¨¡£
>
> --
> I like python!
> UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
> My Blog: http://www.donews.net/limodou
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20061120/7a7d0ee3/attachment.htm 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年11月20日 星期一 18:19

yi huang yi.codeplayer在gmail.com
星期一 十一月 20 18:19:39 HKT 2006

>
> python上传文件是传到
> 服务器的/tmp下,还是服务器的内存中?
>

python 的 web 框架大部分都是通过 cgi.FieldStorage 来处理 form 数据(包括文件上传)的,是保存为临时文件的方式。
这里有我写的一个简单的wsgi的 file upload
monitor<http://wiki.woodpecker.org.cn/moin/huangyi/file_upload_monitor>
,希望对你深入理解这个过程有帮助。

-- 
http://codeplayer.blogspot.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://python.cn/pipermail/python-chinese/attachments/20061120/dec586e4/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年11月20日 星期一 19:50

limodou limodou在gmail.com
星期一 十一月 20 19:50:33 HKT 2006

On 11/20/06, leopay <leopay在gmail.com> wrote:
> 如果文件很大内存放不下,怎么处理?
>
需要特殊处理了。如yi huang所说。需要你知道底层是如何实现的才可以。具体要分析代码了。

-- 
I like python!
UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年11月21日 星期二 14:28

rosetta rosettas在gmail.com
星期二 十一月 21 14:28:28 HKT 2006

On 11/20/06, leopay <leopay在gmail.com> wrote:
> 如果文件很大内存放不下,怎么处理?

web server自然会先写到磁盘上去
>
> 2006/11/20, limodou <limodou在gmail.com>:
> > On 11/20/06, leopay <leopay在gmail.com> wrote:
> > > 比如是http上传,那是怎么处理的呢?
> > >
> > 不同的web framework是不一样的,但最基本的都是使用内存,所以上传后,先在内存里。然后在web
> >
> framework的应用中(比如django的view代码)中处理。象django上传后放在request.FILES中,然后可以得到上传文件的内容。如果使用model,则model有一个方法可以直接保存。它保存的地址是在settings.py中的MEDIA_ROOT的位置。如果不用django的方法,只要有内容,就可以简单的:
> >
> > file(filename, 'wb').write(content)
> >
> > 这样就行了。所以,没有固定的地方,由应用来决定。
> >
> > --
> > I like python!
> > UliPad <>:
> http://wiki.woodpecker.org.cn/moin/UliPad
> > My Blog: http://www.donews.net/limodou
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese在lists.python.cn
> > Subscribe: send subscribe to
> python-chinese-request在lists.python.cn
> > Unsubscribe: send unsubscribe to
> python-chinese-request在lists.python.cn
> > Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
>
>
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to
> python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to
> python-chinese-request在lists.python.cn
> Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
>


-- 
with kind regards

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号