python上传图片接口求助
一直获取不到文件 麻烦大佬给看下是哪里的问题获取图片接口:def post(request):
if request.method == "POST":
#获取上传文件的处理对象,通过对象获取里面文件名称和内容
# img = request.FILES.getlist("files", None)
img = request.FILES.getlist('image')
print(img)
# print(img.pathName) # 获取文件名称
# print(img.chunks)# 获取文件内容
# 创建文件
# save_path = '{}/up_image/{}'.format(settings.MEDIA_ROOT,img.name)
# with open(save_path,'wb') as f:
# for content in img.chunks():
# f.write(content)
# # 报存到数据库
# FileUpload.objects.create(name=img.name)
return HttpResponse("ok")
else:
return HttpResponse('方法错误')
上传图片接口:
def upload(pathName,pathRoute,pathType):
'''上传图片'''
# Cookie = login(getCookie=True)
url = 'http://127.0.0.1:8000/api'
file = open(pathRoute,'rb')
print(file)
files = {
'image':(pathName,file,pathType),
'bucketName':(None,'banner'),
'type':(None,'image')
}
# image中写入的参数为:图片的名称(pathName),以二进制形式打开文件(file),文件类型(pathType)
# headers = Cookie
res = requests.post(url=url,files=files).json
return res file open 后没有调用 file.close(),新手们经常会犯的错误,所以 python 特人性化地推荐你使用 with open。 thepoy 发表于 2022-1-9 18:11
file open 后没有调用 file.close(),新手们经常会犯的错误,所以 python 特人性化地推荐你使用 with open ...
with open(pathRoute,'rb') as file: 这样吗 syf1313113 发表于 2022-1-9 18:15
with open(pathRoute,'rb') as file: 这样吗
是这样的,后面的代码加缩进就行了 三滑稽甲苯 发表于 2022-1-9 19:15
是这样的,后面的代码加缩进就行了
为什么这行代码。img = request.FILES.getlist("file", None)只能取到前面files={'file':xxx,'name':yyy}中的file或者name。怎么一块取这个files
让我们来看看官方文档中是如何上传文件的吧 request.FILES.getlist("files")
前端post的字段是files 这里就能取到files了 本帖最后由 wshuo 于 2022-1-10 19:37 编辑
虽然open()文件后一般用close() 进行关闭,但是这个问题不影响你这个代码,你应该详细说明一下后端用的是什么框架(例如flask还是django), 然后客户端代码一个小问题 .json 返回是一个函数,而不是json, 要返回json应该 .json(), 看你后端代码返回的并不是json, 所以建议使用 .text ,返回文本(text不是函数是一个属性), 调试代码的时候也关注一下后端代码是否报错,看看是否执行到return了
页:
[1]