繁体   English   中英

上传到Web服务器上的文件不包含实际文件数据

[英]Files uploaded onto web server does not contain actual file data

我正在尝试创建一个简单的Cakephp 2.5.1应用程序,它接受文件上传。 我正在使用http://milesj.me/code/cakephp/uploader中提供的文件上传器插件。 我按照网站上的说明进行了安装,似乎工作正常。

下面的代码已添加到model.php中。 型号表中有一列“图片”。

public $actsAs = array(
    'Uploader.Attachment' => array(
        // Do not copy all these settings, it's merely an example
        'picture' => array(
            'nameCallback' => '',
            'append' => '',
            'prepend' => '',
            'tempDir' => TMP,
            'uploadDir' => '',
            'transportDir' => '',
            'finalPath' => '',
            'dbColumn' => '',
            'metaColumns' => array(),
            'defaultPath' => '',
            'overwrite' => false,
            'stopSave' => true,
            'allowEmpty' => true,
            'transforms' => array(),
            'transformers' => array(),
            'transport' => array(),
            'transporters' => array(),
            'curl' => array()
        )
    )
);

在关联的ctp文件中,我有以下代码;

<?php
    echo $this->Form->create('Upload', array('type' => 'file'));
    echo $this->Form->input('picture', array('type' => 'file'));
    echo $this->Form->end('Submit');
?>

我设法将图像文件SSSS.jpg上传到Web服务器。 但是,奇怪的是,上载的图像文件是一个很小的文件,其中包含文本中的HTTP POST信息,而不是实际的图像数据。 文件内容如下所示;

_method=POST&_method=POST&data%5BUpload%5D%5Bpicture%5D=SSSS.jpg

有人可以告诉我哪些地方可能出了问题? 谢谢。

编辑:我刚刚在Chrome调试中注意到,在HTTP POST方法下,发送的文件类型为text/html 这有问题吗? 如果是,如何将类型更改为image/jpg

更改以下行

echo $this->Form->input('picture', array('type' => 'file'));

遵循以下语法

echo $this->Form->input('picture', array('type' => 'file/image'));

样例代码:

echo $form->labelTag('File/image', 'Image');
echo $html->file('File/image');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM