为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
不负相思意 2021-10-15 10:50:24
背景:用户上传图片并点击“保存”按钮。我成功地将图像保存在服务器中。我给了文件夹 777 的权限....问题:我试图打开图片,但显示不正确:图片网址在此处输入图片说明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 DATAvar dataFileName = document.getElementById('fileup').value.replace(/.*(\/|\\)/, ''); // GET THE FILE NAME THAT USER CHOSEvar 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<?phpini_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);    };
查看完整描述

2 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

您应该尝试将文件/目录的所有权更改为 www-data.

要仅为文件使用更改它:

chown www-data:www-data YOURFILE

要更改目录中的所有文件,请改用以下命令:

chown -R www-data:www-data YOURDIRECTORY/

这对我有用很多次。


查看完整回答
反对 回复 2021-10-15
?
烙印99

TA贡献1829条经验 获得超13个赞

尝试将您的 apache 版本更新到 2.4。


查看完整回答
反对 回复 2021-10-15
  • 2 回答
  • 0 关注
  • 133 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信