0

我正在尝试使用 jquery 表单插件通过 ajax 上传图像。我希望响应是文件名,以便我可以在发出请求的同一页面上显示过程和图像的保存版本。这似乎应该很容易。尽管我是 cakephp 和 jquery 的新手,但我已经尝试了整整 3 天以不同的方式执行此操作,并且遇到了一个又一个的路障!无论如何 - 一些代码:

我有以下表格:

<?php echo $this->Form->create('Tile', array('type'=>'file', 'action' => 'uploadImage')); ?>
<div id="TileImageUpload">
        <?php echo $this->Form->input('upload_image', array('type' => 'file'));?>
        <?php echo $this->Form->button('upload image', array('onClick'=>'$(\'#TileNewtileForm\').ajaxSubmit({target: \'#TileImageUpload\''));?> 
 </div>
 <?php echo $this->Form->end(__('Submit')); ?>

这样就允许用户选择图像并将其提交给图块控制器的 uploadImage 操作:

function uploadImage() {
$this->layout = 'ajax';
//process the image in here and save a copy of it, then return the images name
echo 'imagename';   
}

返回的内容(根据教程和我对文档所做的)应该放在 #TileImageUpload - 这是响应的目标 div。但实际上它只是转到仅显示图像名称的 uploadImage 视图。我希望图像名称返回到发出请求的同一页面,以便我可以将图像附加到文档中。

任何想法出了什么问题?

4

1 回答 1

0

你应该参考这个插件: http ://blueimp.github.io/jQuery-File-Upload/

及其 CakePHP 版本: https ://github.com/hugodias/FileUpload

于 2013-04-20T08:21:56.623 回答