django上传文件到服务器,Django图片上传中转服务器怎么实现

有这样一个需求,需要以http方式上传一张图片,先上传到一个中间服务器,然后再将这张图片上传到另一个服务器(目标服务器)上。中间可以根据实际需要存储图片。使用django框架和python 怎么实现?

我的目前的方式是这样的(部分代码):

def upload_img():

register_openers()

validate_data = self.generate_validate_data()

file_data = request.FILES.get('img')

post_data = {'img': file_data, 'dir': 'product'}

post_data.update(validate_data)

datagen, headers = multipart_encode(post_data)

new_request = urllib2.Request(self.img_upload_url, datagen, headers)

response = urllib2.urlopen(new_request)

对于图片数据部分,使用以下方式也不能上传成功:

file_data = request.FIELS.get('img').read()

另外,如果是另一种情况,需要将网络上的一张图片,而不是本地上传的图片传到目标服务器上,又该如何实现?

我使用urllib2.urlopen请求网络文件,获取数据后再上传也不能成功。

但如果对于一个已存在与中间服务器上的图片,使用下列方式可以上传成功

file_data = open('file_path', 'rb')

望有经验的大牛指点指点

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd19547.html

相关文章 Recommend

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值