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 回答