我正在使用名爲jQuery file upload的插件將圖片上傳到頁面。目前它以原始圖像名稱作爲文件名(IMG_1234
)上傳。我需要的圖像名稱的特定格式的服務器(例如1.123456.jpg
)jQuery File Upload'undefined'圖片網址
我發現這個PHP代碼,改變圖像名稱的工作原理:
class CustomUploadHandler extends UploadHandler
{
protected function trim_file_name($name, $type) {
$name = time()."_1";
$name = parent::trim_file_name($name, $type);
return $name;
}
}
當我上傳一個圖片,其名稱正確,但圖像預覽的鏈接是undefined
。這可以防止我通過插件刪除圖像。
變量data.url
是undefined
...如果我回到沒有重命名圖像的原始代碼,一切工作正常。
有沒有人有這個插件的任何經驗,可以幫助?謝謝!
編輯:
我發現至少...返回的下載鏈接的功能(這也用於刪除)是給原來的文件名,而非更新的問題的一部分。我對PHP類非常陌生,所以我不確定變量的起源以及如何解決它。我非常感謝我能得到的任何幫助!
下面是該函數的PHP代碼:
protected function get_download_url($file_name, $version = null, $direct = false) {
if (!$direct && $this->options['download_via_php']) {
$url = $this->options['script_url']
.$this->get_query_separator($this->options['script_url'])
.'file='.rawurlencode($file_name);
// The `$file_name` variable is the original image name (`IMG_1234`), and not the renamed file.
if ($version) {
$url .= '&version='.rawurlencode($version);
}
return $url.'&download=1';
}
if (empty($version)) {
$version_path = '';
} else {
$version_url = @$this->options['image_versions'][$version]['upload_url'];
if ($version_url) {
return $version_url.$this->get_user_path().rawurlencode($file_name);
}
$version_path = rawurlencode($version).'/';
}
return $this->options['upload_url'].$this->get_user_path()
.$version_path.rawurlencode($file_name);
}
編輯2:我認爲這是與在選項'param_name' => 'files',
。任何人都知道那是什麼?