jQuery文件上传-我的安装';显示服务器上的所有文件等

jQuery文件上传-我的安装';显示服务器上的所有文件等,jquery,file,upload,Jquery,File,Upload,我希望熟悉的人能帮我解决三个问题 我安装了它,与他们网站的演示页面(index.html)不同,它显示了服务器“server/php/files”目录中的所有文件,而不仅仅是那些刚刚上传到表单提交中的文件。我需要用户上传他们的文件,而不是看到其他人的上传 当文件最初添加到队列时,它会显示正确的文件名,但在点击“开始上载”并实际发送后,它会将文件命名为“(1)”、“(1)(1)”,依此类推 我想删除此演示的客户端和服务器端预览和缩略图。(一些用户将上传数百兆字节的图像,我不希望任何一个系统试图处理

我希望熟悉的人能帮我解决三个问题

  • 我安装了它,与他们网站的演示页面(index.html)不同,它显示了服务器“server/php/files”目录中的所有文件,而不仅仅是那些刚刚上传到表单提交中的文件。我需要用户上传他们的文件,而不是看到其他人的上传

  • 当文件最初添加到队列时,它会显示正确的文件名,但在点击“开始上载”并实际发送后,它会将文件命名为“(1)”、“(1)(1)”,依此类推

  • 我想删除此演示的客户端和服务器端预览和缩略图。(一些用户将上传数百兆字节的图像,我不希望任何一个系统试图处理这些图像。)

  • (顺便说一句,演示页面上说上传的文件会在5分钟后自动删除,而他们演示的PHP后端似乎不是这样。太好了,我不想自动删除文件。)


    另外,如果不是要求太多,我只是注意到我的演示的index.html表单中仍然有action=“//jquery file upload.appspot.com/”,但是正在将文件写入我的服务器,我感到很困惑。

    如果你想在登录系统中使用它,让它创建一个具有唯一ID的文件夹并将文件上载到那里。否则,您可能需要执行一些奇特的命名约定,只显示与这些名称匹配的文件。

    1: 编辑main index.php文件并删除以下内容:

     <tr class="template-download fade">
      {% if (file.error) { %}
      <td></td>
      <td class="name"><span>{%=file.name%}</span></td>
      <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
      <td class="error" colspan="2"><span class="label label-important">Error</span> {%=file.error%}</td>
      {% } else { %}
      <td class="preview">{% if (file.thumbnail_url) { %}
        <a href="{%=file.url%}" title="{%=file.name%}" data-gallery="gallery" download="{%=file.name%}"><img src="{%=file.thumbnail_url%}"></a>
        {% } %}</td>
      <td class="name">
        <a href="{%=file.url%}" title="{%=file.name%}" data-gallery="{%=file.thumbnail_url&&'gallery'%}" download="{%=file.name%}">{%=file.name%}</a>
      </td>
      <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
      <td colspan="2"></td>
      {% } %}
      <td class="delete">
        <button class="btn btn-danger" data-type="{%=file.delete_type%}" data-url="{%=file.delete_url%}"{% if (file.delete_with_credentials) { %} data-xhr-fields='{"withCredentials":true}'{% } %}>
                <i class="icon-trash icon-white"></i>
          <span>Delete</span>
        </button>
        <input type="checkbox" name="delete" value="1">
      </td>
    </tr>
    
    
    {%if(file.error){%}
    {%=文件名%}
    {%=o.formatFileSize(file.size)%}
    错误{%=file.Error%}
    {%}其他{%}
    {%if(file.thumbnail_url){%}
    {% } %}
    {%=o.formatFileSize(file.size)%}
    {% } %}
    删去
    
    2. 如果已经存在同名文件,则进行(1)命名

    3. #1的解决方案也会解决这个问题

    5分钟的删除仅在应用程序在其服务器上运行时进行


    如果您所做的只是接受文件,则不需要表单操作。您可以删除它。

    不确定您所有的问题,但是第一个问题(不同用户的分离文件)是通过
    UploadHandler
    类的
    user\u dirs
    设置解决的。在index.php中,您可以这样做:

    <?php
    // ...
    $upload_handler = new UploadHandler(array(
        'user_dirs' => true
    ));
    

    CentOS 5.8。apache 2.2.3-65。php 5.1.6-39。php pecl json 1.2.1-4(因为它不是在php 5.1上内置的,并且是后端php脚本所需要的)。当您单击文件上载“浏览”按钮时,它会显示您计算机上的文件,而不是服务器上的文件。抱歉,我可能不清楚。浏览计算机并添加文件后,它会创建一个斑马样式的文件列表,每个文件都有自己的开始和取消按钮。在我的安装中,在新加载的页面上,即使在清除了缓存/cookies的浏览器中,它也不会在没有列表的情况下启动页面——它会显示服务器目录中的所有内容。如果您访问“我的”链接,除非它正在检查IP地址,否则您将看到已有多个文件。@user1902689我也有这个问题,它是否为您解决了?@hmd-不,在遇到这个问题几周后,我放弃了这个项目。很遗憾听到你也有这个问题,但我很高兴这个问题又回到了我的脑海。我很快就得再打一次。我将特别尝试Oleksii和Tim的答案,看看它们是否有用。有一天我计划建立一个登录系统,但现在我想让人们能够上传文件,但看不到表单提交中上传了什么。基本上,任何人都可以将文件发送到一个黑洞。如何修改文件上载,使其不显示其他用户上载的文件,而是显示刚刚上载的文件。(上传的文件不会在上传后立即消失。