我们可以使用OneDrive的JavaScript文件选择器API将文件上传到OneDrive中的任何默认文件夹,例如Documents或Public文件夹吗?
即。而不是使用
设置路径WL.upload({
path: response.data.folders[0].id,
element: "file",
overwrite: "rename"
});
我们可以设置一个默认文件夹的路径值,例如Documents / Public吗?
答案 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>