java http put_HTTP PUT以Java格式上传文件

开发者在尝试使用Vimeo API的Streaming Method通过Java的Scribe库上传视频时遇到了问题。他们成功设置了文件、Content-Length和Content-Type,但在发送PUT请求并收到200响应后,尝试验证上传时遇到308错误。问题可能与文件上传的完成阶段有关。
摘要由CSDN通过智能技术生成

编辑:我想我已经弄清楚如何做二进制数据部分.在代码中仔细检查它,但我很确定我做对了.现在,我在尝试按照

Vimeo API documentation中的描述完成上传时遇到新错误

编辑2:将.debug()添加到OAuthService并更新输出.

原始问题:我正在尝试使用Vimeo API (Streaming Method)将视频上传到Vimeo.我正在使用scribe授权我的应用,获取访问令牌并准备上传视频.在这个PUT的HTTP请求示例中,我只是不知道该做什么,Vimeo API文档说“你的文件的二进制数据”:

PUT 07003 HTTP/1.1

Host: 1.2.3.4:8080

Content-Length: 339108

Content-Type: video/mp4

…. binary data of your file here ….

我可以得到罚单和标题.它只是,我该怎么做才能插入我的文件的二进制数据?

笔记:

>这是Java中的桌面应用程序

>这是我正在测试的一个小视频文件

这是我的put代码(记住,我使用的是scribe)

// Setup File (line 52)

File testUp = new File("C:/Users/Kent/Desktop/test.mp4");

String contentLength = Long.toString(testUp.length());

System.out.println("The content length is: " + contentLength);

byte[] fileBytes = ByteStreams.toByteArray(new FileInputStream(testUp));

// Upload file (line 58)

request = new OAuthRequest(Verb.PUT, endpoint);

request.addHeader("Content-Length", contentLength);

request.addHeader("Content-Type", "video/mp4");

request.addPayload(fileBytes);

response = signSendAndPrint(service, accessToken, request, "Upload PUT: " + endpoint);

// Check response code is valid (line 65)

if (response.getCode() != 200) {

System.out.println("The response was not 200! It was: " + response.getCode());

return;

}

// Verify the upload (line 71)

request = new OAuthRequest(Verb.PUT, endpoint);

request.addHeader("Content-Length", "0");

request.addHeader("Content-Range", "bytes */*");

res

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值