python post请求 上传图片_python 通过post 上传文件

小弟刚接触python ,感觉这门语言是如此的神奇。最近,想帮同事写一个能通过post 上传文件的脚本。到网上一搜,有几个模块可以用,用的最多的是MultipartPostHandler和poster。网上的资料也有例子,不过很坑爹啊,都是把官方的例子给复制出来到处粘贴,有木有啊。按照例子实验,怎么都不能成功,不知道为何。下面,我贴出代码,希望高手们能帮忙。代码是临时写的测试用的:

index.php

Filename:

upload.php:

if(isset($_POST["submit"])){

if ($_FILES["file"]["error"] > 0)

{

echo "Error: " . $_FILES["file"]["error"] . "
";

}

else

{

echo "Upload: " . $_FILES["file"]["name"] . "
";

echo "Type: " . $_FILES["file"]["type"] . "
";

echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb
";

echo "Stored in: " . $_FILES["file"]["tmp_name"]."
";

move_uploaded_file($_FILES["file"]["tmp_name"],$_FILES["file"]["name"]);

echo "Stored in: ".$_FILES["file"]["name"];

}

}

?> 下面分别是两种方法实现的上传文件:

#filename:uploadFile3.py

#module:MultipartPostHandler

import MultipartPostHandler, urllib2, cookielib,time

cookies = cookielib.CookieJar()

opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookies),

MultipartPostHandler.MultipartPostHandler)

params = {"filename":open("E:\\py\\uploadFile\\1.xls","rb")}

opener.open("http://localhost/upload/",params)

time.sleep(10)

print "handle the request"

# -*- coding: gbk -*-

#module of poster

#filename:uploadFile2.py

from poster.encode import multipart_encode

from poster.streaminghttp import register_openers

import urllib2,sys

register_openers()

datagen,headers = multipart_encode({'file':open("E:\\py\\uploadFile\\1.xls","rb")})

request = urllib2.Request("http://localhost/upload/",datagen,headers)

#print urllib2.urlopen(request).read()

悲剧的是,这两种方法都没能实现上传哦。请各位大神给予指点。非常感谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值