Enviar multipart / formdata com jQuery.ajax

Eu tenho um problema ao enviar um arquivo para um script PHP ao lado do servidor usando a função ajax do jQuery. É possível obter a lista de arquivos com$('#fileinput').attr('files') mas como é possível enviar esses dados para o servidor? A matriz resultante $_POST) no script php do servidor é 0 NULL) ao usar a entrada de arquiv

Eu sei que é possível (embora eu não tenha encontrado nenhuma solução jQuery até agora, apenas o código Prototye http: //webreflection.blogspot.com/2009/03/safari-4-multiple-upload-with-progress.htm)).

Isso parece relativamente novo, por isso não mencione o upload de arquivos seria impossível via XHR / Ajax, porque definitivamente está funcionand

Eu preciso da funcionalidade do Safari 5, FF e Chrome seria bom, mas não essencia

Meu código de agora é:

$.ajax({
    url: 'php/upload.php',
    data: $('#file').attr('files'),
    cache: false,
    contentType: 'multipart/form-data',
    processData: false,
    type: 'POST',
    success: function(data){
        alert(data);
    }
});