【发布时间】:2023-03-26 03:23:01
【问题描述】:
我的公司开始使用 Microsoft Office 365。他们正在使用 OneDrive 来保存和查看文件。
我的任务是建立一个允许客户将文件直接上传到 OneDrive 的网站。我的团队创建了我们自己的 OneDrive 虚拟帐户来测试保存将由客户上传的文件。
从简单的 HTML 表单输入开始:
<form id="uploadfile">
<input type="file" id="pdfFile" name="pdfFile" class="form-control" />
<button type="button" class="btn btn-primary" id="uploadBtn">Upload File</button>
</form>
现在是 jQuery:
$('#uploadBtn').on('click', function(e)
{
e.preventDefault();
var formData = new FormData($('#uploadfile')[0]); // <-- not currently using this variable, but I know I will need it
var filename = $('#pdfFile').val().replace(/.*(\/|\\)/, '');
var odOptions =
{
clientId: "00000000-xxxxx-0000-xxxx-0000000000",
action: "upload", // <-- was originally set to save
sourceInputElementId: "pdfFile",
sourceUri: "",
fileName: filename,
openInNewWindow: true,
advanced: {endpointHint: "api.onedrive.com"},
success: function(files) { /* success handler */ },
progress: function(p) { /* progress handler */ },
cancel: function() { /* cancel handler */ },
error: function(e) { /* error handler */ }
}
OneDrive.save(odOptions);
});
以上所有内容均来自以下链接:
https://docs.microsoft.com/en-us/onedrive/developer/controls/file-pickers/js-v72/save-file
编辑
自从提出这个问题后,我已经取得了一些进展。我可以到达 OneDrive 窗口打开的位置,并且可以看到各种文件夹。但似乎没有文件可供我保存。
从这里开始:
用户选择了一张图片。单击上传按钮后,OneDrive 将打开:
但是当我在 OneDrive 窗口中时,点击保存按钮后,没有文件被保存。
我缺少什么可以将文件保存到 OneDrive 中?
【问题讨论】:
-
您是否检查过您的正则表达式是否按预期工作?
-
我可以看到文件名,如果那是你的要求。
-
你可能没有把它放在你的代码中,因为你自己提到的指南说它是必需的,所以应该很明显,但仍然要问它,你是否按原样导入 OneDrive 脚本指南中提到的?
-
或者这可能与您的文件大小有关。由于您没有在脚本中明确定义大小限制,因此可能是它不起作用的原因。或者“#pdfFile”在某处重复。
-
(这个问题有一个相关的可能重复的sister question,读者可能希望在回答这个问题之前阅读)。
标签: javascript jquery upload onedrive