0

Sencha Touch + PHP を使用してアプリを構築しています。

Sencha Touch では、次のフォームを作成しました。

    xtype: 'fieldset',
    items: [
        {
            xtype: 'textfield',
            id: 'ctTitle',
            name: 'title',
            label: 'Title'
        },
        {
            xtype: 'filefield',
            id: 'ctFile',
            name: 'filePdf',
            label: 'File'
        }   
    ]

私のコントローラーには、ファイルをphpに送信する機能があります:

onBtnSaveFile: function(){

    Ext.Ajax.request({
        url: 'app-resources/scripts/saveArticle.php',

        headers: {
            "Content-Type": "multipart/form-data"
        },

        params: {
            title: Ext.getCmp('ctTitle').getValue(),
            filePdf: Ext.getCmp('ctFile').getValue()
        },

        callback: function(options, success, response) {
            console.log(response.responseText);
        }

    });

},

今、saveArticle.php で、アップロードされたファイルのサイズを確認するために $_FILES を使用しています。

$pdf = $_FILES['filePdf'];

bu この行はエラーUndefined index: filePdfを取得しています

AJAX リクエストのパラメーターが正しいデータを送信しなかったと思います。おそらく、ファイルではなく通常の文字列を送信します。

誰かがこの問題を解決するのを手伝ってくれますか?

ありがとうございました!

4

1 に答える 1

1

私は Sencha にはあまり詳しくありませんが、私に関する限り、POST メソッドでフォームを送信する場合、ファイルを送信するために特定の方法でそのデータをエンコードする必要があることは知っています。次の属性をフォームに追加する方法はありますか?:

enctype='multipart/form-data'

このようにして、php が理解して $_FILES からファイルを読み取ることができる適切な方法でデータをエンコードします。

これがあなたの問題に役立つことを願っています。

于 2013-11-14T19:02:05.087 に答える