Multiupload pomoci Nette 2.0 a Uploadify – Chyba 303

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
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 :-(

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?

srigi
Nette Blogger | 558
+
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.

Acnnair
Člen | 34
+
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 :-)

jiri.medved
Člen | 33
+
0
-

Dekuji Vam moc, jiz mi to bezi … Diky

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>
zoool
Člen | 89
+
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.?