[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Строка в картинку
ull123
Здравствуйте! есть клиент, написан на C# преобразую картинку в строку и отправляю на сервер POST запросом

 //функция преобразования изображения в строку
public string ImgToStr(Image Img)
{
MemoryStream Memostr = new MemoryStream();
Img.Save(Memostr, ImageFormat.Jpeg);
byte[] arrayimg = Memostr.ToArray();
return Convert.ToBase64String(arrayimg);
}

на сервере получаю строчку и пытаюсь сохранить картинку
$str = $_POST[FOTO];
$str = explode('base64,', $str);

$x=fopen('name.jpg","w");

fwrite($x, base64_decode($str[1]));
fclose($x);

картинка на жесткий диск сохраняется, но не открывается... пишет что не может прочитать файл...
что я делаю не так?
Игорь_Vasinsky
Цитата
$x=fopen('name.jpg","w");


как то криво - не находишь?

после этой строки уже ничего не работает.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
ull123
Цитата (Игорь_Vasinsky @ 31.03.2014 - 14:11)
Цитата
$x=fopen('name.jpg","w");


как то криво - не находишь?

после этой строки уже ничего не работает.

а как должно быть? Пример брала, правда там php сервак + javascript
пример работает
Игорь_Vasinsky
ну так ошибки то мониторить нужно. на лицо же ошибка синтаксиса.

$str = $_POST[FOTO];
$str = explode('base64,', $str);

$x=fopen("name.jpg","w");

fwrite($x, base64_decode($str[1]));
fclose($x);


открытая кавычка должна быть закрытой - парой. а у тебя апостроф открыла, строка, кавычкой закрыла

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
AllesKlar
ull123
Рабочий кусок кода, допилишь под свои нужды
	private function getImage($image_data, $width)
{
$img_size = getimagesizefromstring($image_data);

if($img_size[0] > $width)
{
$img_res = imagecreatefromstring($image_data);

$x = $width;
$k = $img_size[0] / $x;
$y = $img_size[1] / $k;


$new_image = imagecreatetruecolor($x, $y);

imageAlphaBlending($new_image, false);
imageSaveAlpha($new_image, true);

imagecopyresampled($new_image, $img_res, 0, 0, 0, 0, $x, $y, $img_size[0], $img_size[1]);

header('Content-Type: image/png');

imagepng($new_image);
imagedestroy($new_image);
}
else
{
header('Content-Type: image/png');
print($image_data) ;
}
}



_____________
[продано копирайтерам]
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.