这个问题是在python的基础上提出的,但核心问题通常与Drive API有关。
我有以下python代码,用于上传部署批处理的多个文件:
batch = service.new_batch_http_request(callback=f_delete_file_batch_callback)
for item in files_list:
filename = item.name
file_metadata = {'title' : filename}
fo = open(filename, "w+b")
fo.write(item.file.read())
media = MediaFileUpload(...)
batch.add(service.files().insert(body=file_metadata, media_body=media))
http = credential.authorize(httplib2.Http())
batch.execute(http = http)
uploaded_files = ... # Here's the question. How do I get new files?
return render(request, 'my_template.html', {'files': uploaded_files}问题是,我不明白如何获取新上传的文件,以便将新行传递给ajax并在客户端呈现它们:
my_template.html:
{% for item in files.items %}
<tr>
<td>{{item.title}}</td>
<td>{{item.modifiedDate}}</td>
</tr>
{% endfor %}javascript:
$.post(url, data, function(){
$table.append(response)
});发布于 2017-07-19 17:03:38
在内存中,批处理请求的响应是新创建文件的文件资源数组。实际上,它是一个多部分的mimetype,每个组件请求都有一个部分。
浏览一下python库(我讨厌这个库),它看起来像是有一个可选的构造函数回调函数,为每个正文部分调用。在本例中,您已经将其定义为callback=f_delete_file_batch_callback
所以,我希望每个插入的文件都有一个file对象来调用这个回调。
默认情况下,文件对象将只包含title、id和mimetype。如果需要modifiedDate,则需要将其(或*)添加到fields参数。
https://stackoverflow.com/questions/45177555
复制相似问题