jQuery文件上传 - 重新加载后不显示上传的文件

时间:2014-04-17 00:19:11

标签: php jquery ajax file-upload jquery-file-upload

所以,过去三个小时我一直试图解决这个问题,我觉得我无法接近它......任何帮助将不胜感激。

我已经能够设置 jQuery文件上传器以将上传的图像保存在动态路径/网址中。一切似乎都有效,文件上传到正确的位置并显示在前端。但是,一旦重新加载页面,就没有它们的迹象。显然,它的路径/目录url错误。我无法弄清楚是什么!

这是 http://127.0.0.1/local/platform/backend/page-edit.php

上的HTML文件
<form id="fileupload" method="POST" enctype="multipart/form-data">
   ...
   <input type="hidden" name="path" value="products"><!-- Setting the directory to save the img -->
   ...
</form>

JFU的PHP文件UploadHandler.php和index.php位于 http://127.0.0.1/local/platform/uploads/ 下 的index.php:

$options = array('upload_dir'=>$_POST['path'].'/'.date("Y").'/'.date("n").'/', 'upload_url'=>'../uploads/'.$_POST['path'].'/'.date("Y").'/'.date("n").'/');
error_reporting(E_ALL | E_STRICT);
require('UploadHandler.php');
$upload_handler = new UploadHandler($options);
http://127.0.0.1/local/platform/backend/plugins/jQuery-File-Upload-9.5.7/js/

下的

main.js

$(function () {
'use strict';
$('#fileupload').fileupload({
    // Uncomment the following to send cross-domain cookies:
    //xhrFields: {withCredentials: true},
    url: '../uploads/'
});
...
});

正如我所说,文件上传并显示正确。但是当我刷新页面时,它们不再出现在表格中......

1 个答案:

答案 0 :(得分:1)

找到了解决方案!

基本上,我在页脚中将我想要的值分配为JS变量。然后,我在main.js上使用具有我需要的数据的变量,如下所示:

$('#fileupload').fileupload({
   url: '.../uploads/index.php?page_type=' + THE_VARIABLE
});

现在,数据将传递到上传目录下的index.php文件中。所以,我得到了查询字符串并将其发送到UploadHandler.php:

parse_str($_SERVER['QUERY_STRING'], $query_string);
$options('upload_dir'=>$query_string['page_type'], 'upload_url'=>'../uploads/'.$query_string['page_type']);
...
$upload_handler = new UploadHandler($potions);

轰!像魅力一样工作!