我正在用Python编写有关Google Drive API v3的包装。我在上传文件并查看正在发生什么问题。这是一个小的示例代码
UserControl
一切正常,但是到目前为止,我无法看到已经传输了多少字节(就像在下载中我有this.click = this.click.bind(this);
方法一样)。另外,如果发生错误,我真的不知道如何使用click = (id) => {
console.log(id)
}
的功能。还有一件事,如果我将$.ajaxSetup({
headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$(".btn-submit").click(function(e){
var playlist = $("#playlist").val();
var id = '{{$data->id}}'
e.preventDefault();
$.ajax({
type:'POST',
url:'/ajaxRequest',
data:{playlist:playlist,id:id },
success:function(data){
alert(data.success);
}
});
});
变量放入$playlist = $request->input('playlist');
$id = $request->input('id');
$playlist = Playlist::find($playlist);
$songs = $playlist->songs()->get();
foreach ($songs as $song){
if($id == $song->id){
return response()->json(['success'=>'Sond Allready added']);
}
}
$song = Song::findOrFail($id);
$playlist->songs()->attach($song);
return response()->json(['success'=>'Playlist Updated Success']);
,则会收到400 Bad Request Error。是否可能具有类似的功能,例如在下载方法中,我可以分段上传文件并监视发生了什么事情?
编辑:
@Tanaike解决了这个问题。您可以使用# create service using oauth2flow -> drive_service
# upload pdf from disk
media = MediaFileUpload('/files/test.pdf', resumable=True)
file_metadata = {'name': 'test.pdf'}
res = drive_service.files().create(
body=file_metadata,
media_body=media,
fields="id"
)
方法跟踪上传,但是next_chunk
必须是256 KB的倍数。
这是示例代码:
resumable=True