o transporte de iframe não está transferindo nenhum dado

estou a usarjQuery-File-Upload comjQuery-Iframe-Transport para tentar obter suporte para versões mais antigas do IE.

Eu defini oforceIframeTransport opção paratrue para que ele se comporte mais ou menos da mesma maneira em todos os navegadores, mas parece que não recebo nenhum dado de volta no servidor, independentemente do navegador, quando ele usa o transporte de iframe.

Eu cuspi os cabeçalhos do pedido no lado do servidor e eu voltei:

array(
    Host => "*******"
    Connection => "keep-alive"
    Content-Length => "0"
    Accept => "*/*"
    Origin => "**************"
    X-Requested-With => "XMLHttpRequest"
    User-Agent => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17"
    DNT => "1"
    Referer => "***********"
    Accept-Encoding => "gzip,deflate,sdch"
    Accept-Language => "en-GB,en-US;q=0.8,en;q=0.6"
    Accept-Charset => "ISO-8859-1,utf-8;q=0.7,*;q=0.3"
    Cookie => "*********"
)

[*****s indicou informações sonoras; você não precisa disso;)]

Que parece OK, mas$_REQUEST está vazio (isto é,array()), e o buffer de entrada está vazio também:

$handle = fopen('php://input', 'r');

$file_data = '';

while(($buffer = fgets($handle, 4096)) !== false) {
    $file_data .= $buffer;
}

fclose($handle); // $file_data = '';

Isso tudo funcionou bem quando eu não estava usando o iframe-transport, mas eu preciso do suporte do IE ... alguém tem alguma experiência com a transmissão de arquivos usando iframes e pode saber por que nenhum dado está chegando?

Quando eu usojQuery-File-Upload / js / jquery.iframe-transport.js e forçar o transporte de iframe para o Chrome, mas as solicitações nem chegam ao servidor no IE.

Quando eu usojquery-iframe-transport / jquery.iframe-transport.js e forçar o transporte de iframe no Chrome, mas tudo bem, porque o Chrome suporta transferências de arquivos XHR adequadas,e os pedidos, pelo menos, atingiu o servidor no IEmas nenhum dado é enviado.

Atualizei meu script para suportar o método de transferência:

if(empty($_FILES)) {
    $handle = fopen('php://input', 'r');

    $file_data = '';

    while(($buffer = fgets($handle, 4096)) !== false) {
        $file_data .= $buffer;
    }

    fclose($handle);
} else {
    $file_data = file_get_contents($_FILES['files']['tmp_name'][0]);
}

Mas, novamente, eu ainda não consigo obter nenhum dado no IE, independentemente do que eu faço.

Quando eu digo "IE", estou testando especificamente no IE 8 agora. Eu preciso de suporte de volta para 7 embora.Esse cara reivindicações suporte todo o caminho de volta para o IE 6.

questionAnswers(2)

yourAnswerToTheQuestion