无法在服务器中打开上传的文件

背景

用户上传图片并点击“保存”按钮。

我成功地将图像保存在服务器中。我给了文件夹 777 的权限....

http://img3.mukewang.com/61690db10001e7c406720084.jpg

问题:


我试图打开图片,但显示不正确:图片网址


在此处输入图片说明


html


<button class ="save" onclick="test()">Save image to server</button>

脚本:


function test(){

var canvas  = document.getElementById("0");

var dataURL = canvas.toDataURL();  // THE BASE 64 DATA

var dataFileName = document.getElementById('fileup').value.replace(/.*(\/|\\)/, ''); // GET THE FILE NAME THAT USER CHOSE

var dataFileType = dataFileName.split('.').pop();


$.ajax({

  type: "POST",

  url: "tamaker.php",

  data: { 

     imgBase64: dataURL,

     imgFileName: dataFileName,

     imgFileType: dataFileType

  }

}).done(function(o, imgFileName) {


  console.log(o);  

  var response = JSON.parse(o);

  console.log(response);


  $('body').prepend('<img src="' + dataFileName+ '" style="height: 200px; width: auto;">');


});

}

保存.php


<?php


ini_set('display_errors', 1);

ini_set('display_startup_errors', 1);

error_reporting(E_ALL);


if( isset($_POST['imgBase64']) && isset($_POST['imgFileName']) && isset($_POST['imgFileType']) ){


    $fname = filter_input(INPUT_POST, 'imgFileName'); // THE FILENAME THE USER CHOSE IS RECEIVED VIA POST

    $img = filter_input(INPUT_POST, 'imgBase64');  // THE BASE64 ENCODING RECEIVED VIA POST

    $imgtype = filter_input(INPUT_POST, 'imgFileType');  // THE FILE TYPE / EXTENSION IS RECEIVED VIA POST


    // STRIP OFF THE BEGINNING OF THE BASE64 DATA, BUT DEPENDS ON THE IMAGE TYPE.  

    // I COULD HAVE SIMPLIFIED THIS BUT USED IF STATEMENTS.

    if ( $imgtype === 'png'){

        $img = str_replace('data:image/png;base64,', '', $img);

    };

    if ( $imgtype === 'jpg' || $imgtype === 'jpeg'){

        $img = str_replace('data:image/jpeg;base64,', '', $img);

    };

    if ( $imgtype === 'gif'){

        $img = str_replace('data:image/gif;base64,', '', $img);

    };

不负相思意
浏览 134回答 2
2回答

智慧大石

您应该尝试将文件/目录的所有权更改为&nbsp;www-data.要仅为文件使用更改它:chown www-data:www-data YOURFILE要更改目录中的所有文件,请改用以下命令:chown -R www-data:www-data YOURDIRECTORY/这对我有用很多次。

烙印99

尝试将您的 apache 版本更新到 2.4。
打开App,查看更多内容
随时随地看视频慕课网APP