【问题标题】:Box Java SDK: How do I configure HTTPUrlConnection for file upload?Box Java SDK:如何为文件上传配置 HTTPUrlConnection?
【发布时间】:2023-03-12 22:44:01
【问题描述】:

我正在开发一个使用 Box Java SDK (Box Api v2) 的应用程序。由于我们的架构,我需要通过 REST api 上传文件。显然,我无法正确配置 HTTPUrlConnection。

这是我的代码:

URL uploadURL = new URL( "https://upload.box.com/api/2.0/files/content" );
uploadConn = (HttpURLConnection)uploadURL.openConnection();
uploadConn.setRequestMethod( "POST" );
uploadConn.setChunkedStreamingMode( 0 ); // enable chunking with default chunk size
uploadConn.setRequestProperty( "Authorization", "Bearer " + boxClient.getAuthData().getAccessToken() );
uploadConn.setRequestProperty( "filename", filename );
if (isNew) uploadConn.setRequestProperty( "parent_id", parentId );

uploadConn.setDoOutput( true );`

对于新文件,filename 是文件名,parentId 是目标文件夹的 id。

Box 返回 HTTP 错误 400,所以我的请求有问题。

提前感谢您的帮助!

【问题讨论】:

    标签: java box-api boxapiv2


    【解决方案1】:

    box java sdk 提供了执行文件操作的方法,因此您无需显式调用 api,它使用 httpclient 执行所有网络操作。 您似乎正在尝试上传文件。 你可以做: BoxFileUploadRequestObject requestObj = BoxFileUploadRequestObject.uploadFileRequestObject(parentFolderId, "filename", file); BoxFile bFile = boxClient.getFilesManager().uploadFile(requestObj);

    如果您确实想创建自己的 http 请求,则此上传端点采用包含以下部分的多部分实体: 1. name: parent_id", String body: 父ID 2. name: "metadata", String body: json 字符串的肉数据(见下文) 3.文件

    json 元数据字符串: {"parent":{"id":parentid},"name":filename}

    【讨论】:

    • 由于我们产品的架构,uploadFile 无法供我使用。我必须使用我的问题中描述的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-30
    • 2016-09-05
    • 1970-01-01
    • 2014-05-07
    • 1970-01-01
    相关资源
    最近更新 更多