blueimp jquery 文件上传 - 使用标题等数据输入重命名文件名
blueimp jquery file upload - rename filename with data input like title
我想在上传照片时使用一个隐藏的附加表单字段后跟一个小的唯一随机数来重命名文件名。文件名应如下所示:hidden_form_field-random_number.jpg = hello_Dj84lx.jpg
我找到了随机命名等的解决方案,但没有插入表格。我尝试使用示例中的 $file->title 但没有成功。
我设法解决了问题。
首先我将此函数添加到 upload/server/php/index.php 文件
protected function generate_unique_filename($filename = ""){
$extension = "";
if ( $filename != "" ){
$extension = pathinfo($filename , PATHINFO_EXTENSION);
if ( $extension != "" ){
$extension = "." . $extension;
}
}
$characters = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
$charactersLength = strlen($characters);
$randomString = "";
for ($i = 0; $i < 5 ; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $filename.'_'.date('siHdmy').$randomString.$extension;
}
然后我编辑了 UploadHandler.php 文件。我添加了一个 public 变量 $mytitle 并替换了这段代码:
$file->name = $this->get_file_name($uploaded_file, $name, $size, $type, $error, $index, $content_range);
有了这个
$this->mytitle='what-ever-text-filled-in-the-title-form-field';
$file->name = $this->generate_unique_filename($this->mytitle);
我想在上传照片时使用一个隐藏的附加表单字段后跟一个小的唯一随机数来重命名文件名。文件名应如下所示:hidden_form_field-random_number.jpg = hello_Dj84lx.jpg
我找到了随机命名等的解决方案,但没有插入表格。我尝试使用示例中的 $file->title 但没有成功。
我设法解决了问题。
首先我将此函数添加到 upload/server/php/index.php 文件
protected function generate_unique_filename($filename = ""){
$extension = "";
if ( $filename != "" ){
$extension = pathinfo($filename , PATHINFO_EXTENSION);
if ( $extension != "" ){
$extension = "." . $extension;
}
}
$characters = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
$charactersLength = strlen($characters);
$randomString = "";
for ($i = 0; $i < 5 ; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $filename.'_'.date('siHdmy').$randomString.$extension;
}
然后我编辑了 UploadHandler.php 文件。我添加了一个 public 变量 $mytitle 并替换了这段代码:
$file->name = $this->get_file_name($uploaded_file, $name, $size, $type, $error, $index, $content_range);
有了这个
$this->mytitle='what-ever-text-filled-in-the-title-form-field';
$file->name = $this->generate_unique_filename($this->mytitle);