无法将小文件内容上传到OneDrive?

时间:2018-07-27 10:16:07

标签: java file file-upload onedrive

我正在尝试通过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上上传小文件(也为空白)的代码示例。 非常感谢!

0 个答案:

没有答案