OpenListTeam / OpenListTeam/OpenList

[BUG] webdav 无法同时上传多文件 任务失败

Open
#1,566 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

invalid
Dominant language
Go
Stars
24.7k
Forks
2.3k
Avg merge
1d 20h
Merged PRs (30d)
36

Description

请确认以下事项
  • 我已确认阅读并同意 AGPL-3.0 第15条
    本程序不提供任何明示或暗示的担保,使用风险由您自行承担。

  • 我已确认阅读并同意 AGPL-3.0 第16条
    无论何种情况,版权持有人或其他分发者均不对使用本程序所造成的任何损失承担责任。

  • 我确认我的描述清晰,语法礼貌,能帮助开发者快速定位问题,并符合社区规则。

  • 我已确认阅读了OpenList文档

  • 我已确认没有重复的问题或讨论。

  • 我已确认是OpenList的问题,而不是其他原因(例如 网络依赖操作)。

  • 我认为此问题必须由OpenList处理,而非第三方。

  • 我已确认这个问题在最新版本中没有被修复。

OpenList 版本(必填)

4.1.15

使用的存储驱动(必填)

阿里云盘open,ftp,webdav,夸克

问题描述(必填)

当时用文件管理器或第三方应用挂载webdav,一次上传多个大于两兆的文件时,任务会失败。已经尝试,卸载重装,更换多个网盘类型,均有以上问题。

配置文件内容(必填)

存储配置,请查看附件

Image

仅修改自定义头部和自定义内容
头部

<script src="https://polyfill.alicdn.com/v3/polyfill.min.js?features=String.prototype.replaceAll"></script> <script src="https://unpkg.com/valine/dist/Valine.min.js"></script> <script async src="https://busuanzi.9420.ltd/js"></script> <script src="https://npm.elemecdn.com/aplayer@1.10.1/dist/APlayer.min.js"></script> <script src="https://npm.elemecdn.com/meting2@0.0.1/js/Meting.min.js"></script> <style> /* 去除通知栏 右上角 X */ .notify-render .hope-close-button { display: none; } /*去掉底部*/ .footer { display: none !important; } /* 此选项两处CSS 在v3.31.0中已优化 滚动显示 和 右下角设置网格模式尺寸大小 */ /* 文字超长自动换行 */ /*.name-box .name { white-space: unset !important; overflow: unset !important; }*/ /* 缩略图图片变大 代码中的160px 自己改 现在是注释状态若需要自行解除注释 */ /*.obj-box > div { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)) } .obj-box > div .item-thumbnail{ height: 100px; }*/ /* 图片API用法点进去都会有食用说明的,API来自网络不保证实效性稳定性自己测试 樱花:https://www.dmoe.cc 夏沫:https://cdn.seovx.com 搏天:https://api.btstu.cn/doc/sjbz.php 姬长信:https://github.com/insoxin/API 小歪:https://api.ixiaowai.cn/ 保罗:https://api.paugram.com 墨天逸:https://api.mtyqx.cn 岁月小筑:https://img.xjh.me 东方Project:https://img.paulzzh.com */ /*白天背景图*/ .hope-ui-light { background-image: url("https://liyuanyi1999.eu.org:47327/d/NAS/FolderSync/Background/000.gif?sign=moZvHhyEQaNOxO-1KpOubMUBMxICsNF0uHaMayQDQgg=:0") !important; background-repeat: no-repeat; background-size: cover; background-attachment: fixed; background-position-x: center; } /*夜间背景图*/ .hope-ui-dark { background-image: url("https://liyuanyi1999.eu.org:47327/d/NAS/FolderSync/Background/000.gif?sign=moZvHhyEQaNOxO-1KpOubMUBMxICsNF0uHaMayQDQgg=:0") !important; background-repeat: no-repeat; background-size: cover; background-attachment: fixed; background-position-x: center; } /*主列表白天模式透明*/ .obj-box.hope-stack.hope-c-dhzjXW.hope-c-PJLV.hope-c-PJLV-igScBhH-css { background-color: rgba(255, 255, 255, 0.5) !important; } /*主列表夜间模式透明*/ .obj-box.hope-stack.hope-c-dhzjXW.hope-c-PJLV.hope-c-PJLV-iigjoxS-css { background-color: rgb(0 0 0 / 50%) !important; } /*readme白天模式透明*/ .hope-c-PJLV.hope-c-PJLV-ikSuVsl-css { background-color: rgba(255, 255, 255, 0.5) !important; } /*readme夜间模式透明*/ .hope-c-PJLV.hope-c-PJLV-iiuDLME-css { background-color: rgb(0 0 0 / 50%) !important; } /*顶部右上角切换按钮透明*/ .hope-ui-light .hope-c-ivMHWx-hZistB-cv.hope-icon-button { background-color: rgba(255, 255, 255, 0.5) !important; } .hope-ui-dark .hope-c-ivMHWx-hZistB-cv.hope-icon-button { background-color: rgb(0 0 0 / 50%) !important; } /*右下角侧边栏按钮透明 第一个是白天 第二个是夜间*/ .hope-ui-light .hope-c-PJLV-ijgzmFG-css { background-color: rgba(255, 255, 255, 0.5) !important; } .hope-ui-dark .hope-c-PJLV-ijgzmFG-css { background-color: rgb(0 0 0 / 50%) !important; } /*白天模式代码块透明*/ .hope-ui-light pre { background-color: rgba(255, 255, 255, 0.1) !important; } /*夜间模式代码块透明*/ .hope-ui-dark pre { background-color: rgba(255, 255, 255, 0) !important; } /*左侧侧边栏目录*/ /*白天模式*/ .hope-ui-light .hope-c-PJLV-ieGWMbI-css { background: rgba(255, 255, 255, 0.5) !important; } /*夜间模式*/ .hope-ui-dark .hope-c-PJLV-ieGWMbI-css { background-color: rgb(0 0 0 / 50%) !important; } /* 返回顶部 */ .hope-c-PJLV-ihVEsOa-css { background: rgba(255, 255, 255, 0.5) !important; } .hope-ui-dark .hope-c-PJLV-ihVEsOa-css { background-color: rgb(0 0 0 / 50%) !important; } /*顶部*/ #root > .header { background: rgba(255, 255, 255, 0); } /*导航条*/ /*白天模式*/ .hope-ui-light .body > .nav { background-color: rgba(255, 255, 255, 0.5); border-radius: var(--hope-radii-xl); } /*夜间模式*/ .hope-ui-dark .body > .nav { background-color: rgb(0 0 0 / 50%); border-radius: var(--hope-radii-xl); } /*隐藏导航条遮罩*/ .body > .nav::after { display: none; } /*底部CSS,.App .table这三个一起的*/ dibu { border-top: 0px; position: absolute; bottom: 0; width: 100%; margin: 0px; padding: 0px; } .App { min-height: 85vh; } .table { margin: auto; } /*全局字体*/ * { font-family: LXGW WenKai; } * { font-weight: bold; } body { font-family: LXGW WenKai; } /* 以下为音乐播放器额外配置 */ /* 如果你想要音乐播放器不是很靠底部可以自己设置一下数值 0是靠最底部 */ .aplayer .aplayer-body, .aplayer.aplayer-withlist { bottom: 0rem !important; } /*音乐播放器进一步进行隐藏*/ /* 需要就加不需要就不用加 */ .aplayer.aplayer-fixed.aplayer-narrow .aplayer-body { left: -66px !important; } .aplayer.aplayer-fixed.aplayer-narrow .aplayer-body:hover { left: 0 !important; } </style>

自定义内容


" "0.9*0.9*0.9*0.9*0.9=0.59!" "

—— Anwen's Cloud

        <div style="font-size: 13px; font-weight: bold;">
            <span class="nav-item">
                <a class="nav-link" href="718592367"
                    target="_blank">
                    <i class="fab fa-qq" style="color:#409EFF" aria-hidden="true">
                    </i>
                    QQ |
                </a>
            </span>
            <span class="nav-item">
                <a class="nav-link" href="liyuanyi1999@qq.com" target="_blank">
                    <i class="fa-duotone fa-envelope-open" style="color:#409EFF" aria-hidden="true">
                    </i>
                    邮箱 |
                </a>
            </span>
            <!--后台入口-->
            <span class="nav-item">
                <a class="nav-link" href="/@manage" target="_blank">
                    <i class="fa-solid fa-folder-gear" style="color:#409EFF;" aria-hidden="true">
                    </i>
                    管理 |
                </a>
            </span>
			<br />
			<!--添加一个访问量-->
			<span>
                本"<span style="color: rgb(13, 109, 252); font-weight: bold;"><a href="#">目录</a></span>"访问量 <span id="busuanzi_value_page_pv" style="color: rgb(13, 109, 252); font-weight: bold;"></span> 次 本站总访问量 <span id="busuanzi_value_site_pv" style="color: rgb(13, 109, 252); font-weight: bold;"></span>                次 本站总访客数 <span id="busuanzi_value_site_uv" style="color: rgb(13, 109, 252); font-weight: bold;"></span> 人
            </span>
            <br />
		
<!--一言API-->
<script src="https://v1.hitokoto.cn/?encode=js&select=%23hitokoto" defer></script>
<script> let interval = setInterval(() => { if (document.querySelector(".footer")) { document.querySelector("#customize").style.display = ""; clearInterval(interval); } }, 200); </script> <script src="https://npm.elemecdn.com/granim@2.0.0/dist/granim.min.js"></script> <script> var granimInstance = new Granim({ element: '#canvas-basic', direction: 'left-right', isPausedWhenNotInView: true, states : { "default-state": { gradients: [ ['#a18cd1', '#fbc2eb'], ['#fff1eb', '#ace0f9'], ['#d4fc79', '#96e6a1'], ['#a1c4fd', '#c2e9fb'], ['#a8edea', '#fed6e3'], ['#9890e3', '#b1f4cf'], ['#a1c4fd', '#c2e9fb'], ['#fff1eb', '#ace0f9'] ] } } }); </script>
<script type="text/javascript">
     ! function (e, t, a) {
        function r() {
            for (var e = 0; e < s.length; e++) s[e].alpha <= 0 ? (t.body.removeChild(s[e].el), s.splice(e, 1)) : (s[
                    e].y--, s[e].scale += .004, s[e].alpha -= .013, s[e].el.style.cssText = "left:" + s[e].x +
                "px;top:" + s[e].y + "px;opacity:" + s[e].alpha + ";transform:scale(" + s[e].scale + "," + s[e]
                .scale + ") rotate(45deg);background:" + s[e].color + ";z-index:99999");
            requestAnimationFrame(r)
        }
        function n() {
            var t = "function" == typeof e.onclick && e.onclick;
            e.onclick = function (e) {
                t && t(), o(e)
            }
        }

        function o(e) {
            var a = t.createElement("div");
            a.className = "heart", s.push({
                el: a,
                x: e.clientX - 5,
                y: e.clientY - 5,
                scale: 1,
                alpha: 1,
                color: c()
            }), t.body.appendChild(a)
        }

        function i(e) {
            var a = t.createElement("style");
            a.type = "text/css";
            try {
                a.appendChild(t.createTextNode(e))
            } catch (t) {
                a.styleSheet.cssText = e
            }
            t.getElementsByTagName("head")[0].appendChild(a)
        }

        function c() {
            return "rgb(" + ~~(255 * Math.random()) + "," + ~~(255 * Math.random()) + "," + ~~(255 * Math
                .random()) + ")"
        }
        var s = [];
        e.requestAnimationFrame = e.requestAnimationFrame || e.webkitRequestAnimationFrame || e
            .mozRequestAnimationFrame || e.oRequestAnimationFrame || e.msRequestAnimationFrame || function (e) {
                setTimeout(e, 1e3 / 60)
            }, i(
                ".heart{width: 10px;height: 10px;position: fixed;background: #f00;transform: rotate(45deg);-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);}.heart:after,.heart:before{content: '';width: inherit;height: inherit;background: inherit;border-radius: 50%;-webkit-border-radius: 50%;-moz-border-radius: 50%;position: fixed;}.heart:after{top: -5px;}.heart:before{left: -5px;}"
            ), n(), r()
    }(window, document);
</script>
日志(可选)

No response

复现链接(可选)

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the failure by mounting OpenList WebDAV through a file manager or third-party application and uploading multiple files larger than 2 MB. Compare the listed storage drivers and identify the failing request or task behavior; done means simultaneous multi-file uploads complete successfully.

Written by the indexing model from the issue text.

Assessment

Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.