Java 如何将视频文件加载到发送到youtube的请求中?

Java 如何将视频文件加载到发送到youtube的请求中?,java,android,youtube-api,Java,Android,Youtube Api,我正在尝试将视频文件从设备上载到YouTube api。我让授权部分工作,但他们让我将视频数据正确地嵌入到XML有效负载中(在多部分请求实体代码之间),我不完全清楚正确的方法是如何读入文件、对其编码并将其打印回请求。我的假设是,我需要将其加载到字节[]中,然后在编码时将其吐回字符串,但我宁愿得到一些权威指导,也不愿在黑暗中玩试错游戏 TIA我想你想这么做 InputStreamBody metadata = new InputStreamBody(xmlMetadata, "applicatio

我正在尝试将视频文件从设备上载到YouTube api。我让授权部分工作,但他们让我将视频数据正确地嵌入到XML有效负载中(在多部分请求实体代码之间),我不完全清楚正确的方法是如何读入文件、对其编码并将其打印回请求。我的假设是,我需要将其加载到字节[]中,然后在编码时将其吐回字符串,但我宁愿得到一些权威指导,也不愿在黑暗中玩试错游戏


TIA

我想你想这么做

InputStreamBody metadata = new InputStreamBody(xmlMetadata, "application/atom+xml; charset=UTF-8");
FileBody content = new FileBody(new File("video.mp4"), "application/octet-stream");
MultipartEntity reqEntity = new MultipartEntity();
reqEntity.addPart("metadata", metadata);
reqEntity.addPart("content", content);
post.setEntity(reqEntity);
client.execute(post);

不,不要将其保存为字符串。那可能会破坏文件。我假设你使用了一个POST请求和bindata@Cole约翰逊,这是我的首选,但如果你看一下文档链接(直接上传的例子向下滚动一点),我完全不清楚我如何才能使它与他们期望的内容一起工作。我一直对HTTP的来龙去脉有点困惑,它们的头和内容长度等等。。。这个例子把我所有的困惑都集中到了一个“这里到底发生了什么?!”的大例子中。如果我读对了,只有视频元数据嵌入到XML负载中。在直接上传>步骤3-上传视频文件中,只需发送几个HTTP头,后跟原始字节。我并不是说这很容易,但不要让它变得比需要的更复杂。你知道你用什么作为你的HTTP客户端吗?Commons httpclient?@John Watts,是的。我在下议院(我有很多经验)。我的首选方法是只设置标题,然后将视频数据作为MultipartRequestEntity的文件部分发送。我正在看DirectUpload,这就是我在发布这个问题的部分。。。在我看来,他们希望数据作为XML的一部分打印(在多部分边界之后)。。。我是不是误解了什么?我的错误。我最后进入了可恢复上传部分。老实说,我认为他们的可恢复API更清晰,即使它需要更多的请求。