4

私は現在、うまく機能する BlueImp jQuery FileUploader を使用している ASP.NET MVC プロジェクトを持っています。

https://github.com/blueimp/jQuery-File-Upload

ただし、デフォルトの動作では、ファイルをサーバーにアップロードするときに元のファイル名が使用されるようです。理想的には、アップロードされたファイルごとに jQuery FileUploader が一意のファイル名を生成するようにしたいと考えています。

サーバーにアップロードされた各ファイルの名前を変更しようとしましたが、FileUploader が元のファイル名に固執しているように見えることに気付きました。

アップロードされた各画像に対してjQueryアップローダーにランダム/一意のファイル名を生成させる方法はありますか(個別またはバッチとして)?

4

3 に答える 3

13

私はちょうど同じ問題を抱えていました。PHP の upload.class ファイルを使用して、次のように一意のファイル名を handle_file_upload メソッドに追加しました。

前:

$file->name = $this->trim_file_name($name, $type, $index);

後:

$file->name = $this->trim_file_name(md5($name), $type, $index);

ASP.NETでも同様のことができると確信しています


編集:

最新バージョンでは、UploadHandler.php の 506 行目にあり、次のように変更します。

$name = $this->trim_file_name($file_path, $name, $size, $type, $error, $index, $content_range);

$name = $this->trim_file_name($file_path, md5($name), $size, $type, $error, $index, $content_range);

完璧に動作します!

于 2012-06-27T22:49:54.827 に答える
1
  protected function handle_file_upload($uploaded_file, $name, $size, $type, $error,
        $index = null, $content_range = null) {
            $file = new stdClass();
 }

前:

$file->name = $this->get_file_name($name, $type, $index, $content_range);

後:

$file->name = $this->get_file_name(uniqid(), $type, $index, $content_range);
于 2013-01-24T00:12:07.683 に答える
0

ポールの回答を編集しましたが、拒否されました...とにかく、彼の回答は正しいですが、コード行は古いファイル用です。

最新バージョンでは、UploadHandler.php の 506 行目にあり、次のように変更します。

 $name = $this->trim_file_name($file_path, $name, $size, $type, $error, $index, $content_range);

 $name = $this->trim_file_name($file_path, md5($name), $size, $type, $error, $index, $content_range);

完璧に動作します!

于 2015-01-22T15:50:18.493 に答える