2013-06-28 2 views
2

uploadfilefield에서 파일 내용을 가져 오려고 시도 중입니다. ExtJS4을 사용하고 있지만 어떻게 알 수 있습니까? 나는 어쩌면 fb는 내용이 생각했지만, alert(JSON.stringify(fb)) 나에게 원형 객체 인 fb에 대한 오류를 제공uploadfilefield에서 파일 내용을 가져 오는 방법은 무엇입니까?

{ 
    xtype: 'fileuploadfield', 
    buttonText : 'Upload CSV', 
    buttonConfig: 
    { 
     icon: 'images/upload.png', 
     tooltip: 
     { 
      text: 'some hints', 
      width: 200 
     } 
    }, 
    buttonOnly: true, 
    listeners: 
    { 
     'change': function(fb, v) 
     { 
      // v returns the filename 
      // HOW CAN I GET THE FILE CONTENT? 
     } 
    } 
}  

:

나는 uploadfilefield이 코드가 있습니다.

나는 다른 방법/이벤트가 있어야한다고 생각합니다. 또한 대화 상자에서 열기를 누른 후 바로 파일 내용을 가져 오려고합니다. 나중에 이렇게하려면 제출 버튼을 사용할 수 없습니다.

감사 동료 StackOverflowers)

부록 :

내가 센차에이 EXAMPLE에서 찾고 있어요 : '사진 업로드에 전달되는 어떤

Ext.create('Ext.form.Panel', { 
    title: 'Upload a Photo', 
    width: 400, 
    bodyPadding: 10, 
    frame: true, 
    renderTo: Ext.getBody(), 
    items: [{ 
     xtype: 'filefield', 
     name: 'photo', 
     fieldLabel: 'Photo', 
     labelWidth: 50, 
     msgTarget: 'side', 
     allowBlank: false, 
     anchor: '100%', 
     buttonText: 'Select Photo...' 
    }], 

    buttons: [{ 
     text: 'Upload', 
     handler: function() { 
      var form = this.up('form').getForm(); 
      if(form.isValid()){ 
       form.submit({ 
        url: 'photo-upload.php', 
        waitMsg: 'Uploading your photo...', 
        success: function(fp, o) { 
         Ext.Msg.alert('Success', 'Your photo "' + o.result.file + '" has been uploaded.'); 
        } 
       }); 
      } 
     } 
    }] 
}); 

. PHP '? 이 PHP가 파일의 내용을 가져 오는 방법은 무엇입니까?

+1

HTML5을 FileReader 당신이 답을 편집 할 수 API –

답변

-1

https://developer.mozilla.org/en-US/docs/Web/API/FileReader/

$returnResponse = $_REQUEST['returnResponse']; 
    sleep(1); 
    if ($returnResponse != "") 
    { 
     header('HTTP/1.0 '.$returnResponse.' Server status', true, $returnResponse); 
     echo '{success:false, message:"File could not be uploaded to server."}}'; 
    } 
    else 
    { 
     $file  = $_FILES['filedata-inputEl']; 
     $fileName = $file['name']; 
     $fileSize = $file['size']; 
     $temp_file = $file['tmp_name']; 
// .... 

    } 
2

HTML5 이전에는 파일을 서버에 업로드하고 거기에서 처리 할 때까지 파일 내용에 대한 액세스가 없었습니다. 첫 번째 양식을 제출하지 않으면 브라우저가이 파일을 가지고 아무 것도 할 수 없었습니다.

편집 : 닐 맥기의 코멘트에서

위, 그것은 HTML5을 FileReader의 API처럼 보인다는 아마도 당신이 필요로하는 몇 가지 작업을 수행 할 수 있습니다. 나는이를 사용한 적이 있지만, 더 많은 정보는 여기에서 확인할 수 있습니다 : 나는 (내 애플 리케이션을 위해 조금 수정) extjs file uploader folder 여기에 내 대답을 발견

+0

간단한 파일 제출 양식을 가진 실제 코드 예제. PHP 파일에 파일 내용을 어떻게 보낼 수 있는지보고 싶습니다. PHP 부분을 구현할 필요가 없습니다. 그냥 js에서 PHP로 변환 부분을 알아야합니다. 주석 – Brian

+1

'form.submit (params)'을하고'phams '에 php 파일의'url'을 넣으면됩니다. 이 기능에 대한 자세한 내용은 http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.form.Basic-method-submit을 참조하십시오. 파일 내용이 필요하다면 PHP에서 필요에 따라 파싱하고'params'의'callback'으로 다시 보낼 수 있습니다. – kevhender

관련 문제