Проблема с загрузкой файла изображения - PullRequest
0 голосов
/ 09 октября 2009

У меня проблема с загрузкой любого файла изображения с сервера.

Я могу успешно загрузить их и открыть из того места, где они были загружены и сохранены.

Когда я загружаю, используя мою функцию, файлы изображений загружаются полностью, размер файла также корректен, но когда я открываю их, я получаю ошибку.

$fileString=$fileDir.'/'.$fileName; // combine the path and file
    // translate file name properly for Internet Explorer.
if (strstr($_SERVER['HTTP_USER_AGENT'], "MSIE"))
{
      $instance_name = preg_replace('/\./', '%2e', $instance_name, substr_count($instance_name, '.') - 1);
}
// make sure the file exists before sending headers

if(!$fdl=@fopen($fileString,'r'))
    {
       die("Cannot Open File!");
    } 
else 
    {
      header("Cache-Control: ");// leave blank to avoid IE errors
      header("Pragma: ");// leave blank to avoid IE errors
      header("Content-type: application/octet-stream");
      header("Content-Disposition: attachment; filename=\"".$instance_name."\"");
      header("Content-length:".(string)(filesize($fileString)));
      sleep(1);
      fpassthru($fdl);
    }

Я использую IE в качестве браузера.

Я использую этот фрагмент кода для загрузки файла, а не для отображения в браузере. Сценарий выполняется, и мне предлагается узнать, хочу ли я открыть / сохранить файл. Когда я сохраняю файл, размер также правильный, но изображение не отображается. Когда я щелкаю правой кнопкой мыши и вижу сводку файла, он говорит, что сводка недоступна.

Спасибо заранее. Пожалуйста, помогите.

Ответы [ 3 ]

1 голос
/ 09 октября 2009

Из вашего кода не ясно, используете ли вы этот фрагмент PHP для размещения изображения на веб-странице, например:

<img src="my-php-script.php" alt="blah blah blah" />

Если это так, ваш тип контента неверен. Вам нужно будет использовать тип изображения MIME, например, image / gif, image / jpeg, image / png или image / tiff, в зависимости от того, что наиболее подходит.

0 голосов
/ 09 октября 2009

Проблема с типом MIME. Пожалуйста, посмотрите здесь:

http://www.daniweb.com/forums/thread122055.html

Это если вы хотите просматривать изображения в браузере.

Если вы хотите загрузить их как двоичные файлы, оставьте свой тип MIME.

Также измените режим открытия файла с «r» на «rb»

0 голосов
/ 09 октября 2009

Эта строка: header("Content-type: application/octet-stream"); мне кажется подозрительной. Возможно, вы захотите указать действительный тип пантомимы и посмотреть, поможет ли это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...