【问题标题】:Ruby check if webdav upload is completeRuby 检查 webdav 上传是否完成
【发布时间】:2011-06-21 16:22:57
【问题描述】:

我想为我们的客户提供一个上传文件夹。由于 Windows、Linux 和 MacOS X 对 webdav 有开箱即用的支持,我们选择了带有 DAV 模块的 Apache 服务器。这很好用。

但是,应该对某些文件应用一些后处理,并且某些文件大于 50M。一些用户的互联网连接速度较慢,因此上传有时需要超过 2 分钟。后处理由一个 ruby​​ 脚本组成,该脚本迭代启用 webdav 的 apache 的文档根目录中的新文件。问题是,我想知道哪些文件实际上已经完成上传,所以我最终不会对上传一半的文件进行后期处理。

有办法吗?

【问题讨论】:

    标签: ruby linux http filesystems webdav


    【解决方案1】:

    在将文件传输到 Apache DAV 服务器时(使用 Mac OS X SLS 和 Apache 进行了尝试),在同一目录中创建了一个名为 ._filename.ext 的临时文件。上传完成后,临时文件被删除。

    所以我想你可以对照一下。

    【讨论】:

    • 感谢您的意见。不幸的是,我的 Apache 没有生成这样一个隐藏文件。但我只是尝试上传一个 500 MB 的文件,似乎只有在下载完成后才会传输到目录。为了安全起见,我将只使用 File.read 读取文件,因此该进程将阻塞,直到文件被完全写入。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-21
    • 1970-01-01
    • 1970-01-01
    • 2014-07-22
    • 2010-12-06
    • 1970-01-01
    相关资源
    最近更新 更多