Javascript 使用XMLHttpRequest和PHP将图像保存到IIS服务器
我有一个web应用程序,允许用户使用网络摄像头拍照,然后将其显示为HTML画布。然后,画布成功地转换为图像,该图像将显示,然后使用XMLHttpRequest发送到服务器。触发以下JS函数时,会发生此过程:Javascript 使用XMLHttpRequest和PHP将图像保存到IIS服务器,javascript,php,iis,xmlhttprequest,Javascript,Php,Iis,Xmlhttprequest,我有一个web应用程序,允许用户使用网络摄像头拍照,然后将其显示为HTML画布。然后,画布成功地转换为图像,该图像将显示,然后使用XMLHttpRequest发送到服务器。触发以下JS函数时,会发生此过程: function convertCanvasToImage() { let canvas = document.getElementById("canvas"); let image = new Image(); document.getEleme
function convertCanvasToImage() {
let canvas = document.getElementById("canvas");
let image = new Image();
document.getElementById("profile").src = canvas.toDataURL();
var newName = canvas.toDataURL();
xhr = new XMLHttpRequest();
xhr.open('POST', 'saveimage.php');
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send(encodeURI('imgBase64=' + newName));
}
PHP代码saveimage.PHP然后处理要保存到服务器的图像:
define('UPLOAD_DIR', 'uploads/new.png');
$img = $_POST['imgBase64'];
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$file = UPLOAD_DIR;//. uniqid() . '.png';
$success = file_put_contents($file, $data);
print $success ? $file : 'Unable to save the file.';
当在本地服务器(XAMPP)上运行时,此过程完全按照预期工作,但当在IIS(Windows server 2019上的IIS10)上运行时,我会收到“无法保存文件”消息
我假设这是IIS的一个安全问题,但不确定该解决方案是否涉及PHP头、IIS中的CORS或其他全部内容。有什么建议吗?确认这是文件夹权限问题保存前检查目录权限或输出结果谢谢,编辑目录权限解决了问题您的问题解决了吗?如果问题解决了,请分享您的答案,以帮助其他有类似问题的人。