1

我希望熟悉jQuery File Upload的人可以帮助解决三个问题。

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

  2. 最初将文件添加到队列中时,它会显示正确的文件名,但在点击“开始上传”并实际发送后,它将文件命名为“(1)”、“(1) (1)”和很快。

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

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

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

4

3 回答 3

0

如果您要使用登录系统,请使用其唯一 ID 创建一个文件夹并将文件上传到那里。否则,您可能需要做一些花哨的命名约定,并且只显示与这些名称匹配的文件。

于 2012-12-14T03:27:53.343 回答
0

1:

编辑主 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>

2

如果已经存在同名文件,则进行 (1) 命名。

3

#1的解决方案也将解决这个问题。

5 分钟删除仅适用于在其服务器上运行的应用程序。

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

于 2013-02-25T04:11:51.610 回答
0

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

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

有关更多详细信息,请参阅此页面:https ://github.com/blueimp/jQuery-File-Upload/wiki/PHP-user-directories 。

于 2013-07-19T16:48:24.457 回答