使用OneDrive File Picker API将文件上载到默认文件夹

时间:2015-03-16 10:01:42

标签: javascript onedrive filepicker

我们可以使用OneDrive的JavaScript文件选择器API将文件上传到OneDrive中的任何默认文件夹,例如Documents或Public文件夹吗?

即。而不是使用

设置路径
WL.upload({                           
    path: response.data.folders[0].id,                          
    element: "file",
    overwrite: "rename"
});

我们可以设置一个默认文件夹的路径值,例如Documents / Public吗?

2 个答案:

答案 0 :(得分:0)

路径“response.data.folders [0] .id”用于选择在调用WL.fileDialog时用户从OneDrive文件选择器中选择的文件夹。如果要上传到默认文件夹,则需要省略文件选择器并使用JavaScript API。

答案 1 :(得分:0)

按照https://msdn.microsoft.com/en-us/library/hh550848.aspx上的步骤将允许您完成此任务。

在代码的HTML部分,添加和调用wl.upload函数。下面是我的代码,允许用户选择文件并将其上传到OneDrive上的默认文件夹。在这种情况下,我使用了“me / skydrive / my_documents”

<!DOCTYPE html>
<html>
    <head>
        <title>JavaScript Code Sample</title>
        <script type="text/javascript" src="//js.live.net/v5.0/wl.js"></script>
    </head>
    <body>
<div style="padding: 1em">


        <div id="signin"></div>
        <label id="info"></label>
    <form>
    <input id="file" name="file" type="file" />
</form>
    <button onclick="uploadFile()">Save file directly (calling WL.upload)</button>
        <script>
            WL.init({
                client_id: 'Your_Client_ID',
                redirect_uri: 'Your_Redirect_URL',
                scope: "wl.signin",
                response_type: "token"
            });
            WL.ui({
                name: "signin",
                element: "signin"
            });
            function uploadFile() {
                WL.login({
                    scope: "wl.skydrive_update"
                }).then(
                    function (response) {
                        WL.upload({
                            path: "me/skydrive/my_documents",
                            element: "file",
                            overwrite: "rename"
                        }).then(
                            function (response) {
                                document.getElementById("info").innerText =
                                    "File uploaded.";
                            },
                            function (responseFailed) {
                                document.getElementById("info").innerText =
                                    "Error uploading file: " + responseFailed.error.message;
                            }
                        );
                    },
                    function (responseFailed) {
                        document.getElementById("info").innerText =
                            "Error signing in: " + responseFailed.error.message;
                    }
                );
            }

        </script> 
    </div>
    </body>
</html>