【发布时间】:2015-05-13 11:34:32
【问题描述】:
在 CodeIgniter 中实现 jQuery FileUpload 时,一切似乎都正常工作,没有 javascript 错误,并且文件在默认文件夹中创建(chmod'ed 0777),但有两个问题。
1.我无法覆盖包提供的 PHP 处理程序的默认选项。 这是我用来执行此操作的控制器操作,如果我将选项转储到UploadHandler 我得到默认选项。
public function fileupload()
{
if ($this->input->is_ajax_request())
{
# load library
$this->load->library('UploadHandler');
# upload file
$upload_handler = new UploadHandler(array(
'upload_dir' => FCPATH.'upload/realty/'.$this->_user->id.'/',
'mkdir_mode' => 0777,
'accept_file_types' => '/\.(gif|jpe?g|png)$/i',
));
}
else
{
redirect('error/page_not_found');
}
}
2。文件上传完成时脚本抛出错误:
SyntaxError: Unexpected token {
这是一个示例请求的响应:
{"files":[{"name":"nebula-ngc-281.jpg","size":590295,"type":"image\/jpeg","url":"http:\/\/test.filipematias.info\/mercadoimobiliario\/admin\/files\/nebula-ngc-281.jpg","thumbnailUrl":"http:\/\/test.filipematias.info\/mercadoimobiliario\/admin\/files\/thumbnail\/nebula-ngc-281.jpg","deleteUrl":"http:\/\/test.filipematias.info\/mercadoimobiliario\/admin\/?file=nebula-ngc-281.jpg","deleteType":"DELETE"}]}{"files":[{"name":"nebula-ngc-281 (1).jpg","size":0,"type":"image\/jpeg","error":"File upload aborted","deleteUrl":"http:\/\/test.filipematias.info\/mercadoimobiliario\/admin\/?file=nebula-ngc-281%20%281%29.jpg","deleteType":"DELETE"}]}
【问题讨论】:
-
不能说 CodeIgniter UploadHandler 部分,但你得到的 JSON 无效(2 个根对象而不是 1 个)你可以检查 [JSON Formatter](例如jsonformatter.curiousconcept.com/]
-
@scollado 是的,这是真的,但是只发出一个请求,所以我不明白它是如何在同一个请求中打印出 2 个对象的。
标签: php jquery codeigniter jquery-file-upload