1. #1
    Sencha User
    Join Date
    Apr 2012
    Posts
    5
    Vote Rating
    1
    akta3d is on a distinguished road

      0  

    Default Ajax.request and arrayBuffer

    Ajax.request and arrayBuffer


    Hi,

    There is a way to use arrayBuffer as type in an ajax request?

    Code:
    //           
     Ext.Ajax.request({
                    url: url
                    ,method: 'GET'
                    ,success: function(response){   ... }
    });
    Or I need use XMLHttpRequest?

    Code:
    var xhr = new XMLHttpRequest();
    xhr.open('GET', url, true); 
    xhr.responseType = 'arraybuffer';
    ...

  2. #2
    Sencha - Support Team scottmartin's Avatar
    Join Date
    Jul 2010
    Location
    Houston, Tx
    Posts
    8,910
    Vote Rating
    443
    scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future

      0  

    Default


    Will this be the response from the server, or sent in the request? Can you provide more info?

    Scott.

  3. #3
    Sencha User
    Join Date
    Apr 2012
    Posts
    5
    Vote Rating
    1
    akta3d is on a distinguished road

      0  

    Default


    Hi,

    I want use an ajax request to download when required a binary file.
    The file is a Dicom image (medical format) encoded in 8, 12 or 16 bits.

    For the moment I use this code to download the file, and all is correct:
    Code:
                var xhr = new XMLHttpRequest();
                xhr.open('GET', url, true);            
    
                if('SR' == type)
                    xhr.responseType = 'text';
                else if('JPEG' == type)
                {
                    xhr.overrideMimeType('text/plain; charset=x-user-defined');
                }
                else if('DCM' == type)
                    xhr.responseType = 'arraybuffer';
    
                var me = this;
                
                xhr.onreadystatechange = function()
                {
                    
                    if (xhr.readyState == 4 && xhr.status == 200)
                    {
                        var data = xhr.response;
                        if('JPEG' == type)
                        {
                            data = "data:image/jpeg;base64," + encode64(xhr.responseText);
                        }
                
                        setLoadedUrl(data, me/*,i*/); 
                    }
                }
    I'd like use JsExt technology to make the same thing.
    I try to use Ext.Ajax.request, but I don't find how to set a good config
    Code:
                //Ext.Ajax.defaultHeaders = {"Content-Type": '???'};
                //Ext.Ajax.defaultHeaders = {"'???'": '???'};
                //??? Other settings
                Ext.Ajax.request({
                    url: url
                    ,method: 'GET'
                    
                    ,success: function(response, opts){   
                        //alert("loaded");
                        
                        if('DCM' == type){
                            //do something
                        }
                        else{
                            var data = response.responseText;
                            if('JPEG' == type)
                            {
                                data = "data:image/jpeg;base64," + encode64(response.responseText);
                            }
    
                            setLoadedUrl(data, this.model/*,this.urlId*/);                         
                        }
    
                    }
    
                    ,scope: {
                        model: this
                        ,urlId: i
                        ,nbUrl: allUrls.length
                    }
                });
    Where

    the url can be:
    http://localhost/MyApp/data/Bassin.dcm

    Bassin.dcm is the Dicom image saved on the server side.

    When I use the Ext.Ajax.request, I have only a responseText parameter containing (I think) a base64 string:
    US(�!CS�00@���UL����@�USQ������P ...


    Response:

    HTTP/1.1 200 OK
    Date: Fri, 25 May 2012 17:51:43 GMT
    Server: Apache/2.2.21 (Win64) PHP/5.3.10
    Last-Modified: Sat, 31 Mar 2012 09:58:54 GMT
    Etag: "77000000028fee-37aab4-4bc870143aa95"
    Accept-Ranges: bytes
    Content-Length: 3648180
    Keep-Alive: timeout=5, max=93
    Connection: Keep-Alive
    Content-Type: text/plain


    Request:

    GET /MyApp/data/Bassin.dcm?_dc=1337968301937 HTTP/1.1
    Host: localhost
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
    Accept-Encoding: gzip, deflate
    Connection: keep-alive
    X-Requested-With: XMLHttpRequest
    Referer: http://localhost/MyApp/viewer.php


    There is no php page to catch the request, the url is directly the file to download.


    I hope this information can help you to help me.

Thread Participants: 1

Turkiyenin en sevilen filmlerinin yer aldigi xnxx internet sitemiz olan ve porn sex tarzi bir site olan mobil porno izle sitemiz gercekten dillere destan bir durumda herkesin sevdigi bir site olarak tarihe gececege benziyor. Sitenin en belirgin ozelliklerinden birisi de Turkiyede gercekten kaliteli ve muntazam, duzenli porno izle siteleri olmamasidir. Bu yuzden iste. Ayrica en net goruntu kalitesine sahip adresinde yayinlanmaktadir. Mesela diğer sitelerimizden bahsedecek olursak, en iyi hd porno video arşivine sahip bir siteyiz. "The Best anal porn videos and slut anus, big asses movies set..."