php - jQuery 文件上传 'undefined' 图片 url

标签 php javascript jquery file upload

我正在使用一个名为 jQuery file upload 的插件将图像上传到页面。目前它以原始图像名称作为文件名(IMG_1234)上传。我需要服务器上图像名称的特定格式(例如 1.123456.jpg)

我发现这个 PHP 代码可用于更改图像名称:

class CustomUploadHandler extends UploadHandler
{
    protected function trim_file_name($name, $type) {
        $name = time()."_1";
        $name = parent::trim_file_name($name, $type);
        return $name;
    }
}

当我上传图像时,它的命名正确,但图像预览的链接是未定义。这可以防止我通过插件删除图像。

变量data.url未定义...如果我返回到不重命名图像的原始代码,一切都会正常。

有没有人有过使用这个插件的经验,可以提供帮助?谢谢!

编辑:

我至少发现了部分问题......返回下载链接的函数(也用于删除)给出了原始文件名,而不是更新后的文件名。我对 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',有关。有人知道那是什么吗?

最佳答案

通过编辑 UploadHandler.php 中的 trim_file_name 函数而不是扩展 index.php 中的类来修复此问题。

关于php - jQuery 文件上传 'undefined' 图片 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18429882/

相关文章:

javascript - 当我点击箭头/导航时,自定义 jQuery/JavaScript slider 出现错误

javascript - 基本的 jQuery 和 PHP Ajax 表单失败

php - 我在哪里可以获得适用于 Windows 的 php 5.4.4 的 OAuth dll?

javascript - HTML 拖动事件不会在 Firefox 中触发

php - Mysql 连接查询,用于显示带有 viewstatus!=public 的 friend 帖子

javascript - 如何使用 iframe 在鼠标悬停时触发事件

php - Ajax 表单提交和 Javascript 确认错误

jquery - 制作动画时让一个 div 覆盖另一个

javascript - 无法使Web套接字在我的无IP域名上运行

javascript - 禁用所有依赖于阵列的选择选项