eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.wwwDrag and drop upload nie działa › Drag and drop upload nie działa
  • Data: 2014-08-22 23:13:24
    Temat: Drag and drop upload nie działa
    Od: Marek <p...@s...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Witam,

    Nie wiem w czym rzecz. W HTML zrobiłem DIV'a reagującego na
    przeciągnięcie plików. JS przechwytuje zdarzenie upuszczenia plików na
    tym DIVie.

    Fragment kodu jest następujący:

    case "drop":
    files = ev.dataTransfer.files;
    fd=new FormData();
    for(i=0, f; f = files[i]; i++) fd.append("files[]",f);
    xhr.open("POST","mojSkrypt.php",true);
    xhr.send(fd);
    break;

    gdzie:
    xhr = new XMLHttpRequest();

    Gdy skrypt wykonuje się do serwera idą nagłówki (IE11):

    Żądanie POST /publisher/mojSkrypt.php HTTP/1.1
    Accept */*
    Content-Type multipart/form-data;
    boundary=---------------------------7de3db2f2b1910
    Referer https://xxxx.pl/yyy.php
    Accept-Language pl
    Accept-Encoding gzip, deflate
    User-Agent Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0)
    like Gecko
    Host xxxx.pl
    Content-Length 1039469
    DNT 1
    Connection Keep-Alive
    Cache-Control no-cache
    Cookie rozne cookies

    Widać, że niby idą obrazki zawarte w files. Długość contentu jest
    odzwierciedleniem, że niby coś zgromadzono i zależy od ilości
    załączonych plików. Jednakże do skryptu PHP nic nie dociera w zmiennych
    POST.

    Natomiast gdy przed wysłaniem dodam:
    fd.append("files[]","aaa");
    fd.append("files[]","bbb");

    to po stronie serwera otrzymam, że files to array(2)= ["aaa","bbb]. Co
    ciekawe, zrobiłem podgląd w JS tego co chcę wysłać:

    reader = new FileReader();
    reader.addEventListener("load",this.addToPreview.bin
    d(this));
    reader.readAsDataURL(file);

    No i obrazki wyświetlają się po stronie HTML dzięki metodzie
    addToPreview(), która wstawia w HTML obiekt Image z src=ev.target.result

    Czyli od strony kodu JS wszystko ok. Czy istnieją jakieś dodatkowe
    wymogi od strony kodu HTML? Czy musi tam być jakiś formularz
    bezwzględnie aby kod ożył i przesłał dane z plików? Czy jakieś specjalne
    nazwy pól mają tam też być? A może to wina IE11, w którym coś nie działa?


    --
    Pozdrawiam
    Marek

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: