sendResponse problém s kódováním
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Marsme
- Člen | 75
Zkouším napsat obsluhu v komponentě pro image upload z wysiwyg editoru. Zpracuju file udělám s ním co potřebuji ale potřebuji ještě vrátit response s json objektem který si wysiwyg obslouží. Firebug ale hlásí tuto chybu s kódováním:
Kódování znaků dokumentu v prostém textu nebylo definováno. Pokud dokument obsahuje znaky mimo rozsah US-ASCII, může se při určitých nastavení prohlížeče zobrazovat se zkomoleným textem. Kódování znaků souboru je potřeba definovat na úrovni přenosového protokolu, nebo určit signaturu kódování pomocí značky pořadí bajtů (BOM).
Kód pro obsluhu image uploadu je zde:
<?php
public function handleRedactorImageUpload()
{
//get file from http
$htr = $this->getHttpRequest();
//prepare path
$path = WWW_DIR . DIRECTORY_SEPARATOR . "project" . DIRECTORY_SEPARATOR . "redactor" . DIRECTORY_SEPARATOR;
foreach ($htr->getFiles() as $file) {
if ($file->isImage()) {
$pathinfo = pathinfo($file->getName());
$ext = $pathinfo['extension'];
$fileName = Strings::random(20, "0-9a-z") . "." . $ext;
$file->move($path . $fileName);
}
}
$json = array("filelink" => $path . $fileName;);
$response = new \Nette\Application\Responses\JsonResponse($json,"application/json");
\Nette\Diagnostics\Debugger::fireLog($response);
$this->presenter->sendResponse($response);
}
?>
Kde by mohl být problém?