загрузка файла с помощью РАСШИРЕНИЯ JS

Шаги для создания поля File Upload с помощью Расширения Js

28
задан brindha 25 March 2010 в 11:16
поделиться

2 ответа

Если вы посмотрите примеры, доступные на www.ExtJS.com, вы найдете этот .

Хотя он основан на стандартной загрузке файла HTML - точно так же, как , этот ответ предлагает.

7
ответ дан 28 November 2019 в 03:41
поделиться

Что касается конкретных шагов, используя функциональность, поддерживаемую в ExtJS 3x, лучше всего использовать этот модуль/плагин:

http://dev.sencha.com/deploy/dev/examples/form/ file-upload.html

Основной сценарий поставляется с пакетом Ext JS в вашем основном файле HTML (где вы связались с основными сценариями Ext), в разделе заголовка после других ваших сценариев:

<script type="text/javascript" src="nameofyourextfolder/examples/ux/fileuploadfield/FileUploadField.js"></script>

К сожалению, нет огромного количества документации по этому элементу Ext JS, однако для базовой функциональности вы можете создать форму с полем асинхронной загрузки, используя следующее:

            myuploadform= new Ext.FormPanel({
                fileUpload: true,
                width: 500,
                autoHeight: true,
                bodyStyle: 'padding: 10px 10px 10px 10px;',
                labelWidth: 50,
                defaults: {
                    anchor: '95%',
                    allowBlank: false,
                    msgTarget: 'side'
                },
                items:[
                {
                    xtype: 'fileuploadfield',
                    id: 'filedata',
                    emptyText: 'Select a document to upload...',
                    fieldLabel: 'File',
                    buttonText: 'Browse'
                }],
                buttons: [{
                    text: 'Upload',
                    handler: function(){
                        if(myuploadform.getForm().isValid()){
                            form_action=1;
                            myuploadform.getForm().submit({
                                url: 'handleupload.php',
                                waitMsg: 'Uploading file...',
                                success: function(form,action){
                                    msg('Success', 'Processed file on the server');
                                }
                            });
                        }
                    }
                }]
            })

Что будет делать этот код, так это создать новую панель форм с полем загрузки. и кнопка загрузки. Когда вы нажимаете кнопку загрузки, выбранный файл будет отправлен на серверный скрипт handleupload.php (или как вы его называете). Затем этот скрипт обрабатывает то, что вы хотите сделать с файлом. Примером этого потенциально может быть:

    $fileName = $_FILES['filedata']['name'];
    $tmpName  = $_FILES['filedata']['tmp_name'];
    $fileSize = $_FILES['filedata']['size'];
    $fileType = $_FILES['filedata']['type'];
    $fp      = fopen($tmpName, 'r');
    $content = fread($fp, filesize($tmpName));
    $content = addslashes($content);
    fclose($fp);
    if(!get_magic_quotes_gpc()){
        $fileName = addslashes($fileName);
    }
    $query = "INSERT INTO yourdatabasetable (`name`, `size`, `type`, `file`) VALUES ('".$fileName."','".$fileSize."', '".$fileType."', '".$content."')";
    mysql_query($query); 

Который введет файл в базу данных SQL. Следует помнить, что файл на стороне сервера обрабатывает загрузку так же, как обычная HTML-форма...

Надеюсь, это поможет!

27
ответ дан 28 November 2019 в 03:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: