Dosya yüklemeleri AJAX üzerinde yapılabilir çok teşekkür ederim - Eğer eski tarayıcıları desteklemek gerekirse, jQuery-File-Upload gibi bir şey kullanır; bu sadece yükleme düşen görevi yapmaya kullanımıyla ilgili a good tutorial here yoktur, ve Blueimp'in UI'sini kullanmamak.) Bu, "formun manuel olarak gönderilmemesi" bölümü ile ilgilidir. Dosyayı seçmek için bir dosya yükleme öğesiyle etkileşime girmeniz gerekecek ve bu, page.uploadFile()
'u kullandığınız yerdir.
Sadece JavaScript'ten, "sayfada herhangi bir öğe ile etkileşim kurma" olmadan, özel bir JavaScript çalıştırmak için page.evaluate() öğesini kullanabilirsiniz. Daha sonra dosyayı yerel diskte bulmak için File Reader API kullanabilir, blobunda saklayabilir ve ardından bu bloğu AJAX üzerinden yükleyebilir. PhantomJS'deki WebKit (yaklaşık olarak Chrome 13'e eşdeğerdir), FileReader API'sının Chrome 6'dan beri orada olduğu gibi çalışmalıdır. Tek yapmanız gereken, başsız bir komut dosyası kullanarak bir sunucuya dosya yüklemekse, BTW , PhantomJS overkill, ve curl
kullanabilirsiniz. Ama PhantomJS'yi başka bir nedenden dolayı kullanmak istediğinizi farz ediyorum!)
Bunun için herhangi bir çözüm buldunuz mu? – themiurgo
@Ros - orada olası bir cevabın başlangıcına sahip gibiydiniz, lütfen sonucunuzu daha açık bir şekilde belirtmek için yeniden ifade edip edemeyeceğinizi öğrenin. –