肥宅综合社区-做一个优雅文明的综合社区

搜索内容

html单文件实现 OneDrive 直链转换

肥宅 图文教程 0 250
OneDrive是微软提供的云存储服务,它可以方便地存储和分享文件。然而,OneDrive的文件分享链接默认是经过处理的,无法直接通过浏览器下载文件。写了一个单独的HTML文件,可以将OneDrive的文件分享链接转换为直接下载链接,实现文件的直接下载功能。而且,这个功能可以在本地双击直接运行,也可以通过将文件放到服务器上并通过域名访问。实现原理该功能的实现原理非常简单,通过JavaScript代码解析用户输入的OneDrive文件分享链接,提取关键信息,并根据提取的信息构造出直接下载链接。然后,将转换后的链接展示给用户,并提供复制功能,方便用户进行操作。
使用方法
在本地使用
将HTML代码保存为一个名为onedrive.html的文件。
双击onedrive.html文件,它会在您默认的浏览器中打开。
在输入框中输入OneDrive文件的分享链接,然后点击”转换并复制链接”按钮。
转换后的直接下载链接将会在页面上显示出来。您可以点击链接进行下载,或者点击旁边的”复制”按钮将链接复制到剪贴板中。
通过服务器访问
将HTML代码保存为一个名为onedrive.html的文件。
将onedrive.html文件上传到您的服务器上,确保可以通过域名访问到该文件。
在浏览器中输入http://域名/onedrive.html,将会打开转换工具页面。
输入OneDrive文件的分享链接,点击”转换并复制链接”按钮,即可获取直接下载链接。

使用以上方法,您可以在本地或通过服务器访问转换工具页面,方便地将OneDrive文件分享链接转换为直接下载链接。希望这个简单的OneDrive转直连工具能够帮助您更方便地下载OneDrive中的文件!
  1. [/align][align=left]
  2. [/align][align=left]
  3. [/align]
  4. [align=left]
  5. [/align][align=left]
  6.     [/align][align=left]
  7.     OneDrive直链转换工具[/align][align=left]
  8.     [/align][align=left]
  9.         body {[/align][align=left]
  10.             font-family: Arial, sans-serif;[/align][align=left]
  11.             margin: 0;[/align][align=left]
  12.             padding: 0;[/align][align=left]
  13.         }[/align]
  14. [align=left]
  15.         h1 {[/align][align=left]
  16.             color: #333;[/align][align=left]
  17.         }[/align]
  18. [align=left]
  19.         form {[/align][align=left]
  20.             margin-bottom: 20px;[/align][align=left]
  21.         }[/align]
  22. [align=left]
  23.         label {[/align][align=left]
  24.             font-weight: bold;[/align][align=left]
  25.         }[/align]
  26. [align=left]
  27.         input[type="text"],[/align][align=left]
  28.         textarea {[/align][align=left]
  29.             width: 100%;[/align][align=left]
  30.             padding: 5px;[/align][align=left]
  31.             margin-bottom: 10px;[/align][align=left]
  32.             box-sizing: border-box;[/align][align=left]
  33.         }[/align]
  34. [align=left]
  35.         input[type="<button"],[/align][align=left]
  36.         .copy-<button,[/align][align=left]
  37.         #copy-all-<button {[/align][align=left]
  38.             padding: 10px 20px;[/align][align=left]
  39.             background-color: #4CAF50;[/align][align=left]
  40.             color: #fff;[/align][align=left]
  41.             border: none;[/align][align=left]
  42.             cursor: pointer;[/align][align=left]
  43.         }[/align]
  44. [align=left]
  45.         .result {[/align][align=left]
  46.             margin-top: 20px;[/align][align=left]
  47.             border: 1px solid #ccc;[/align][align=left]
  48.             padding: 10px;[/align][align=left]
  49.             background-color: #f9f9f9;[/align][align=left]
  50.         }[/align]
  51. [align=left]
  52.         .error {[/align][align=left]
  53.             color: #f00;[/align][align=left]
  54.         }[/align][align=left]
  55.     [/align][align=left]
  56. [/align]
  57. [align=left]
  58. [/align][align=left]
  59.     OneDrive直链转换工具[/align][align=left]
  60.     [/align][align=left]
  61.         请输入OneDrive单文件分享链接(每行一个):
  62. [/align][align=left]
  63.         
  64. [/align][align=left]
  65.         [/align][align=left]
  66.     [/align][align=left]
  67.     [/align][align=left]
  68.     复制全部[/align]
  69. [align=left]
  70.     [/align][align=left]
  71.         function copyText(elementId) {[/align][align=left]
  72.             var element = document.getElementById(elementId);[/align][align=left]
  73.             var range = document.createRange();[/align][align=left]
  74.             range.selectNode(element);[/align][align=left]
  75.             window.getSelection().removeAllRanges();[/align][align=left]
  76.             window.getSelection().addRange(range);[/align][align=left]
  77.             document.execCommand("copy");[/align][align=left]
  78.             window.getSelection().removeAllRanges();[/align][align=left]
  79.         }[/align]
  80. [align=left]
  81.         function copyAllLinks() {[/align][align=left]
  82.             var allLinks = document.querySelectorAll('.result span');[/align][align=left]
  83.             var allLinksText = [];[/align]
  84. [align=left]
  85.             allLinks.forEach(function (link) {[/align][align=left]
  86.                 allLinksText.push(link.textContent);[/align][align=left]
  87.             });[/align]
  88. [align=left]
  89.             var allLinksTextString = allLinksText.join('\n');[/align]
  90. [align=left]
  91.             var tempTextarea = document.createElement('textarea');[/align][align=left]
  92.             tempTextarea.value = allLinksTextString;[/align][align=left]
  93.             document.body.appendChild(tempTextarea);[/align][align=left]
  94.             tempTextarea.select();[/align][align=left]
  95.             document.execCommand('copy');[/align][align=left]
  96.             document.body.removeChild(tempTextarea);[/align]
  97. [align=left]
  98.             alert('已复制全部链接到剪贴板!');[/align][align=left]
  99.         }[/align]
  100. [align=left]
  101.         function convertAndCopy() {[/align][align=left]
  102.             var inputUrls = document.getElementById("urls").value;[/align][align=left]
  103.             var urlList = inputUrls.split("\n");[/align][align=left]
  104.             var resultDiv = document.getElementById("results");[/align][align=left]
  105.             resultDiv.innerHTML = "";[/align]
  106. [align=left]
  107.             var convertedLinks = []; // 用于存储转换后的链接[/align]
  108. [align=left]
  109.             urlList.forEach(function (url, index) {[/align][align=left]
  110.                 url = url.trim();[/align][align=left]
  111. if (url !== "") {[/align][align=left]
  112.     try {[/align][align=left]
  113.         var convertedLink = judgeLink(url);[/align][align=left]
  114.         var resultElement = document.createElement("div");[/align][align=left]
  115.         resultElement.className = "result";[/align][align=left]
  116.         resultElement.innerHTML = '原始链接:
  117. ' + url + '' +[/align][align=left]
  118.             '转换后链接:
  119. ' + convertedLink +[/align][align=left]
  120.             ' 复制';[/align][align=left]
  121.         resultDiv.appendChild(resultElement);[/align]
  122. [align=left]
  123.         convertedLinks.push(convertedLink); // 添加到转换后的链接数组[/align][align=left]
  124.     } catch (e) {[/align][align=left]
  125.         var errorElement = document.createElement("p");[/align][align=left]
  126.         errorElement.className = "error";[/align][align=left]
  127.         errorElement.textContent = "请检查链接是否正确?";[/align][align=left]
  128.         resultDiv.appendChild(errorElement);[/align][align=left]
  129.     }[/align][align=left]
  130. }[/align]
  131. [align=left]
  132.             });[/align]
  133. [align=left]
  134.             // 自动复制转换后的链接[/align][align=left]
  135.             if (convertedLinks.length > 0) {[/align][align=left]
  136.                 var convertedLinksText = convertedLinks.join('\n');[/align]
  137. [align=left]
  138.                 var tempTextarea = document.createElement('textarea');[/align][align=left]
  139.                 tempTextarea.value = convertedLinksText;[/align][align=left]
  140.                 document.body.appendChild(tempTextarea);[/align][align=left]
  141.                 tempTextarea.select();[/align][align=left]
  142.                 document.execCommand('copy');[/align][align=left]
  143.                 document.body.removeChild(tempTextarea);[/align]
  144. [align=left]
  145.                 alert('已自动复制全部转换后链接到剪贴板!');[/align][align=left]
  146.             }[/align][align=left]
  147.         }[/align]
  148. [align=left]
  149.         function judgeLink(url) {[/align][align=left]
  150.             var reg1 = /https:\/\/.+sharepoint\.com/;[/align][align=left]
  151.             var reg2 = /personal\/(\w+?)\//;[/align][align=left]
  152.             var reg3 = /.*\/(\S+)/;[/align][align=left]
  153.             var reg4 = /com\/:(\w):/;[/align]
  154. [align=left]
  155.             var matches1 = url.match(reg1);[/align][align=left]
  156.             var matches2 = url.match(reg2);[/align][align=left]
  157.             var matches3 = url.match(reg3);[/align]
  158. [align=left]
  159.             var p1 = matches1[0];[/align][align=left]
  160.             var p2 = matches2[1];[/align][align=left]
  161.             var p3 = matches3[1];[/align]
  162. [align=left]
  163.             if (p3.includes('?')) {[/align][align=left]
  164.                 p3 = p3.split('?')[0];[/align][align=left]
  165.             }[/align]
  166. [align=left]
  167.             var matches4 = url.match(reg4);[/align][align=left]
  168.             if (matches4[1] === 'f') {[/align][align=left]
  169.                 return "抱歉,你所输入链接分享的是文件夹,直链生成仅对单文件有效。";[/align][align=left]
  170.             }[/align]
  171. [align=left]
  172.             return p1 + '/personal/' + p2 + '/_layouts/52/download.aspx?share=' + p3;[/align][align=left]
  173.         }[/align][align=left]
  174.     [/align][align=left]
  175. [/align]
  176. [align=left]
  177. [/align][align=left]

    协助本站seo优化一下,谢谢!
    关键词不能为空

标签:

暂无标签

免责声明:

本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。侵删请致信E-mail: kefu@fz331.com

上一篇下一篇

发表评论

上传附件:
评论列表 (有 0 条评论,250人围观)
切换注册

登录

忘记密码?

切换登录

注册

验证码