1

jQuery File Uploadに詳しい人が 3 つの問題について手を貸してくれることを願っています。

  1. インストールしたところ、彼らのウェブサイトのデモページ ( index.html ) とは異なり、フォーム送信時にアップロードされたばかりのファイルだけでなく、サーバーの「server/php/files」ディレクトリにあるすべてのファイルが表示されます。ユーザーが自分のファイルをアップロードする必要があり、他のユーザーのアップロードは表示されません。

  2. ファイルが最初にキューに追加されると、適切なファイル名が表示されますが、「アップロードの開始」がヒットされて実際に送信された後、「(1)」、「(1) (1)」、および「(1) (1)」という名前が付けられます。すぐ。

  3. このデモのクライアント側とサーバー側のプレビューとサムネイルを削除したい。(数百メガバイトの画像をアップロードするユーザーもいますが、どちらのシステムにもそれらを処理させたくありません。)

(ところで、デモ ページには、アップロードされたファイルは 5 分後に自動的に削除されると書かれていますが、デモの PHP バックエンドには当てはまらないようです。それは素晴らしいことです。ファイルが自動的に削除されることは望ましくありません。)

PS あまり質問していない場合は、デモの index.html のフォームにまだ action="//jquery-file-upload.appspot.com/" が含まれていることに気付きましたが、サーバーにファイルを書き込んでいます。混乱している。

4

3 に答える 3

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

ご質問のすべてについてはわかりませんが、1 つ目の問題 (ユーザー別のファイルの分離) は、クラスuser_dirsの設定で解決されます。UploadHandlerindex.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 に答える
0

これをログイン システムで使用する場合は、一意の ID を持つフォルダーを作成し、そこにファイルをアップロードします。それ以外の場合は、おそらく派手な命名規則を実行して、それらの名前に一致するファイルのみを表示する必要があります。

于 2012-12-14T03:27:53.343 に答える