eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.wwwDrag and drop upload nie działa › Drag and drop upload nie działa
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!.POSTED!not-for-mail
    From: Marek <p...@s...com>
    Newsgroups: pl.comp.www
    Subject: Drag and drop upload nie działa
    Date: Fri, 22 Aug 2014 23:13:24 +0200
    Organization: ATMAN - ATM S.A.
    Lines: 65
    Message-ID: <lt8bpm$eef$1@node1.news.atman.pl>
    NNTP-Posting-Host: 89-69-202-51.dynamic.chello.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: node1.news.atman.pl 1408742006 14799 89.69.202.51 (22 Aug 2014 21:13:26 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Fri, 22 Aug 2014 21:13:26 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101
    Thunderbird/24.6.0
    Xref: news-archive.icm.edu.pl pl.comp.www:402811
    [ ukryj 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: