Skip to main content
 首页 » 编程设计

python之上传文件休息

2025年05月04日9sharpest

我使用 django 和 piston 创建了一个 rest api,我需要创建一个脚本来将文件上传到该 api。

目前我正在使用这段代码:

import urllib 
import urllib2 
 
user = 'patrick' 
password = 'my_password' 
url = 'http://localhost:8000/api/odl/' 
 
password_manager = urllib2.HTTPPasswordMgrWithDefaultRealm() 
password_manager.add_password( 
    None, url, user, password 
) 
 
auth_handler = urllib2.HTTPBasicAuthHandler(password_manager) 
 
opener = urllib2.build_opener(auth_handler) 
urllib2.install_opener(opener) 
 
f = open('test.pdf') 
 
params = { 
    'name': 'ODL Name', 
} 
 
postData = urllib.urlencode(params) 
fh = urllib2.urlopen(url, postData) 

当我运行这段代码时,我可以看到参数被发送到 api,但我不知道如何将文件 (f) 发送到 api :(

你能帮帮我吗?

谢谢

请您参考如下方法:

您应该将文件的内容作为 POST 数据的一部分,并修改请求的 header ,以告知服务器在 post 中有一个文件。