簡體   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