gpt4 book ai didi

azure - 如何以编程方式将文件上传到我的 Skydrive 帐户并获取其可共享链接?

转载 作者:行者123 更新时间:2023-12-03 05:07:48 24 4
gpt4 key购买 nike

如果我(手动)在 Onedrive/Skydrive 中共享文件,并在 HTML5 下载元素中使用其可共享链接(这是在 ASP.NET 项目中):

string fileUrl = "https://onedrive.live.com/redir?resid=C150662F95F0ACCE!17660&authkey=!AG7MauCst0edTWE&v=3&ithint=photo%2cpng";
string downloadElement = string.Format("<a href='{0}' download='Minimal Spreadsheet file'><button type=\"button\">Spreadsheet file</button></a>", fileUrl);
builder.Append(downloadElement);

...它工作得相当好 - 单击链接/按钮 (downloadElement) 不会将文件下载到我的硬盘驱动器,但它确实会执行以下操作:

1) Downloads a file named "redir.htm"
2) When I click that file to open it, it opens the shared file on a page, from which place it can be manually downloaded by the user.

所以我想知道的是:如何以编程方式将文件上传到我的 Skydrive 帐户,使其可共享,并获取可共享 URL?

我希望能够执行类似的操作(在将在 Windows 7 上运行的 Winforms 应用程序中):

var skyDrive = new SkyDrive(myPwd);
string shareableUrl = skyDrive.UploadFileForSharing(someFile);

// 1) Save the value in "shareableUrl" to a database table
// 2) In a REST Get method on my Web API app, read the database table to dynamically build a list of links
// 3) Using code similar to that shown at the start of this post, cause the file itself to be downloaded (rather than an htm page (IOW, I want to "cut out the middleman")).

顺便说一句,我倾向于 OneDrive(例如,通过 AWS)的原因是,至少目前如此(我最终坚持使用哪一个还有待观察),因为我将要保存和共享的文件是 Excel/.xlsx 文件,我认为 OneDrive 可能会支持通过可共享链接进行在线查看,与其他任何人一样好或更好(因为 OneDrive 和 Excel 都是 Microsoft 产品)。

但是,如果 Onedrive 不提供此类功能/API,我愿意使用 Azure 或 AWS,或者其他任何东西。

更新

我稍微重构了 ASP.NET 代码;这样就省去了“中间人”,直接打开共享文件的页面:

string sharedFileRef = string.Format("<a href='{0}' target='_blank'><button type=\"button\">Spreadsheet file</button></a>", fileUrl);
builder.Append(sharedFileRef);

...基本上,我省略了“下载”jazz,并添加了“目标”指令,以便共享文件在新页面中打开(可手动下载)。

最佳答案

您查看过最新的 OneDrive API 吗:https://dev.onedrive.com/README.htm

有用于上传 ( https://dev.onedrive.com/items/upload.htm ) 和共享 ( https://dev.onedrive.com/items/sharing.htm ) 的 API

希望这有帮助

关于azure - 如何以编程方式将文件上传到我的 Skydrive 帐户并获取其可共享链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36320256/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com