我正在做图像旋转功能。我正在使用
旋转图像并保存到tmp目录中$rotate = imagerotate($source, 90, 0);
$rotatedTmpFile = tempnam('/tmp', 'rotatedThumbnailImage');
imagejpeg($rotate, $rotatedTmpFile ,100);
文件在tmp文件夹中创建。但现在我想
使用Javascript:
$.ajax({
url: PAdmin.roateImageUrl,
data: {
mediaId: id[1],
src: src
},
type: 'POST',
success: function(response) {
img.attr('src', response);
}
});
请帮忙。
答案 0 :(得分:2)
我非常确定/ tmp无法直接通过您的网络服务器访问。您应该从/ tmp移动到docroot中的目录,或者直接在html中编码图像;使用
$mime = mime_content_type($rotatedTmpFile);
$data = file_get_contents($rotatedTmpFile);
exit('data:' . $mime . ';base64,' . base64_encode($data));
这应该作为image-src工作,但可能有点资源昂贵
答案 1 :(得分:2)
在@Sjon的帮助下获得了解决方案。
request."javax.servlet.error.exception"
在PAdmin.roateImageUrl:
注意:此代码中尚未处理异常。
$.ajax({
url: PAdmin.roateImageUrl,
data: {mediaId:id[1],src: src},
type: 'POST',
success:
function(response){
img.attr('src',response);
}
});
答案 2 :(得分:-1)
通常情况下,您可以使用move_uploaded_file()
功能将旋转后的图像移动到某些临时图像上。网络可访问文件夹(例如" images/temp/
")。
您将为图像生成一个随机名称(如果出于安全原因需要),只需将文件名附加到" /images/temp/
"即可轻松获取URL。