Exception in thread "main" java.lang.IllegalArgumentException: Cannot call getProgress() if the specified AbstractInputStreamContent has no content length. Use getNumBytesUploaded() to denote progress instead.
at com.google.api.client.repackaged.com.google.common.base.Preconditions.checkArgument(Preconditions.java:92)
at com.google.api.client.util.Preconditions.checkArgument(Preconditions.java:49)
at com.google.api.client.googleapis.media.MediaHttpUploader.getProgress(MediaHttpUploader.java:934)
at com.google.api.services.samples.youtube.cmdline.UploadVideo$1.progressChanged(UploadVideo.java:151)
at com.google.api.client.googleapis.media.MediaHttpUploader.updateStateAndNotifyListener(MediaHttpUploader.java:907)
at com.google.api.client.googleapis.media.MediaHttpUploader.resumableUpload(MediaHttpUploader.java:471)
at com.google.api.client.googleapis.media.MediaHttpUploader.upload(MediaHttpUploader.java:336)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:427)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:352)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:469)
at com.google.api.services.samples.youtube.cmdline.UploadVideo.main(UploadVideo.java:165)
你知道我为什么要修复它吗?我该如何修复它?
发布于 2017-06-01 19:13:49
将getProgress()
替换为getNumBytesUploaded()
System.out.println("Upload percentage: " + uploader.getNumBytesUploaded());
它的工作,你可以上传大视频。
发布于 2018-04-18 18:37:45
要使用getProgress()
方法获取进度,接口必须知道您尝试上传的文件的大小,您可以使用inputStreamContent.setLength(file.getSize())
设置该大小。
或者,您可以简单地按照建议使用getNumBytesUploaded()
。
https://stackoverflow.com/questions/33372690
复制相似问题