我正在尝试通过OneDrive Rest API上传一个小文件,但是我遇到了一些问题。
这是我的代码的片段:
private void createFile(String folderId, int userId, String resourceType, String name, String description) throws Exception {
String extension = OneDriveResourceTypes.getExtensionFromDescription(resourceType); // Doc file
String url = String.format(ONE_DRIVE_API_BASE_URL + "me/drive/%s:/%s.%s:/content", StringUtils.hasLength(folderId) ? ("items/" + folderId) : "root", name, extension);
HttpURLConnection con = (HttpURLConnection) new URL(url).openConnection();
con.setRequestMethod("PUT");
con.setRequestProperty("Authorization", "Bearer " + getStoredCredentials(userId).getAccessToken());
con.setRequestProperty("Content-Type", "text/plain");
con.setRequestProperty("Accept", "application/json");
con.setDoOutput(true);
con.setUseCaches(false);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes("hello");
wr.flush();
wr.close();
InputStream is = con.getInputStream();
BufferedReader rd = new BufferedReader(new InputStreamReader(is));
// [..............] other code
rd.close();
}
它之所以有效,是因为它将新文件添加到OneDrive上,但是当我打开文件时,它崩溃并报错。恕我直言,问题是它创建的文件不正确。我遵循了OneDrive documentation上的建议。
我在哪里做错了?或者,如果可以的话,请向我发送在OneDrive上上传小文件(也为空白)的代码示例。 非常感谢!