PHP kullanarak ajax ile dosya yüklerken sorun

1 Cevap php

Before starting, note that I have to update a website that is not mine, so I can't redo the whole logic. If I were to do this I would do it differently.

Ben alanları bir sürü bir form ile cakephp uygulama var. Bu formda bir dosyaya gözatmak ve uyumsuz kaydedebilirsiniz. İşte böyle yapılır:

<input type="file" name="data[FileUpload][file]" id="myFileToUpload">
<a id="pickFile" href="#">Upload&nbsp;Now</a>

<script type="text/javascript">
    $('#pickFile').click(function (e) {
        e.preventDefault();
        $.post(
            "/admin/FileUploads/saveFromFlash/<?php e($session->id()) ?>", {
            data: $("#myFileToUpload").val()
        }, function (data) {
            $("#returnedContentFromAjax").html(JSON.stringify(data));
        },
            "json");
    });
</script>

Denilen işlevi esas yapar:

$this->FileUpload->save($this->data)

ancak bu her zaman false döndürür ve "Hayır yükleme geçti". Burada hata mesajı oluştururken satır:

if (!isset($this->data['FileUpload']['file'])) {
        $this->setUploadError('No upload passed');
    return false;
}

Ben nasıl göndermek için bu hiçbir ipucu var "bu-> Data $ ['FileUpload'] ['dosya']" ajax ... ben burada geçmek için hangi nesne bilmiyorum çünkü bu önemli sorun sanırım:

{ data:$("#myFileToUpload").val() },

Bunun üzerine bütün akşam oldum, herhangi bir yardım büyük mutluluk duyacağız

1 Cevap

Özetle: javascript yükleme için seçilen bir dosyanın içeriğini erişemiyor.

Dosya yüklemeleri için bir "ajax etkisi" ile getting Bu makale fırsatlar: http://stackoverflow.com/questions/543926/is-it-possible-to-ajax-a-file-upload