Multiupload pomoci Nette 2.0 a Uploadify – Chyba 303

před 6 lety

jiri.medved
Člen | 33
+
0
-

Ahoj,

prosim o pomoc s multiuploadem v Nette + Uploadify.

Nejdrive jsem si to vyzkousel mimo Nette a vse v poradku, ale v Nette mam potize.

Uploadify vyhazuje chybu Http #303. V error logu nic neni, pouze jen v other_vhosts_access:

medved.dev:80 127.0.0.1 - - [13/Jan/2012:18:07:11 +0100] "POST /admin/files/uploadify HTTP/1.1" 303 37343 "-" "Shockwave Flash"

O chybě jsem nasel toto https://en.wikipedia.org/wiki/HTTP_303 , ale nejak mi to nedava smysl :-(

před 6 lety

jiri.medved
Člen | 33
+
0
-

Tak jiz vim, kde je asi problem. Flash si zavola funkci pro upload v administraci, kde musi byt uzivatel prihlaseny. Nette, ale Flash za prihlaseneho nepovazuje a tak do pomoci 303 redirectne na login.

Napad jak to vyresit?

před 6 lety

srigi
Člen | 551
+
0
-

ZJavne sa neposle PHPSESSID cookie. Tak si povol v php.ini session aj cez URL (docasne riesenie, je to trochu nesystemove) a skus tomu flashovemu objektu pridat ID do URL.

před 6 lety

Acnnair
Člen | 35
+
0
-

Mal som rovnaký problém, po nejakom googlení som to vyriešil takto:

index.php

if(isset($_REQUEST[session_name()])) {
    $_COOKIE[session_name()] = $_REQUEST[session_name()];
}

do uploadify pridať session id

$('#file-upload').uploadify({
    ...
    'scriptData': {
        {=session_name()}: {=session_id()}
     }
});

Myslím, že to je všetko čo som menil, snáď pomôže. Ak to niekto vedel vyriešiť elegantnejšie, sem s tým :-)

před 6 lety

jiri.medved
Člen | 33
+
0
-

Dekuji Vam moc, jiz mi to bezi … Diky

před 6 lety

troopy
Člen | 1
+
0
-

Malý poznatek. Řešil jsem tento problém. Na localhost jelo vše OK, na serveru mi cosi přepisovalo $_REQUEST[session_name()]

Pomohlo použít jiný název pro tuto proměnnou

if(isset($_REQUEST['imgUpSID'])) {
    $_COOKIE[session_name()] = $_REQUEST['imgUpSID'];
}

ve scriptu uploadify pak takto:

<script type="text/javascript">

// <![CDATA[
$(document).ready(function() {

    $('#file_upload').uploadify({
        'uploader'  : '{!$baseUri}/js/uploadify/uploadify.swf',
        'script'    : '{!$uploadImage}',
        'cancelImg' : '{!$baseUri}/js/uploadify/cancel.png',
        'folder'    : '{!$baseUri}/temp/upload',
        'multi'     : true,
        'scriptData': {'imgUpSID':'{!session_id()}'},

        'onAllComplete' : function(event,data)
        {
            window.location = '{!$backLink}';
        }

    });
});
// ]]>

</script>

před 6 lety

zoool
Člen | 72
+
0
-

Ahoj snažím se to podle Vás rozchodit ono to beží, avšak se mi uživatel odhlásí a zůstane jen jeho identita, nevíte kde může být problém, jestli je někde třeba nějaka ochrana.?