我正在使用Croppic来允许用户上传和裁剪个人资料照片。我的代码是从网站复制的,所以是相同的。然而,当我在本地计算机上运行时,上传的图像不会出现。我得到200的JSON响应和上传图像的路径,但图像不显示。为了进一步混淆事情,如果我实际导航到图像上传到的文件夹并尝试打开一个,我在Windows照片查看器中收到一条消息
" Windows Photo Viewer无法打开此图片,因为您没有 访问文件位置的正确权限"
...尽管我拥有该文件夹并拥有所有正确的权限(Windows 7)。
任何想法出了什么问题?
<style>
#profilePicFrame{
width: 200px;
height: 150px;
padding: 2px;
border: 1px solid silver;
position: relative;
}
</style>
<div id = "profilePicFrame">
<i class = "loader"></i>
</div>
<script>
$(document).ready(function() {
var cropperOptions = {
uploadUrl:'/assets/croppic/img_save_to_file.php',
cropUrl:'/assets/croppic/img_crop_to_file.php',
imgEyecandy:true,
imgEyecandyOpacity:0.2
};
var cropperHeader = new Croppic('profilePicFrame', cropperOptions);
});
</script>
编辑:
我做了更多研究,发现如果我导航到缩略图上传到的文件夹,则不显示缩略图,并在Windows照片查看器中打开它只显示上述权限错误。但是,如果我右键单击它,我得到一个提示,说我需要管理员权限来更改安全设置 - 单击确定 - 然后看到我的Windows用户未列在安全选项卡下。只有系统和管理员。我以为是这个系统上唯一的用户我是管理员,至少我有管理员权限,因为我可以更改设置。如果我手动将我的Windows用户添加到列表中,并具有完全访问权限,则可以在Windows照片查看器中查看图像。
那么为什么在没有用户权限的情况下创建图像来查看它呢?
答案 0 :(得分:1)
某些操作系统可能会表现得有点滑稽,特别是在处理apache时。
我假设你提到使用PHP,你实际上正在运行apache。
使用* nix或其他运行apache的操作系统引用某些内容时,请确保正确引用文件。
告诉Apache您的 uploadURL 和 cropURL 位于 /assets/etc/etc/script.php ,这可能会回归到root在* nix系统上。你必须非常小心地引用其他脚本 - 因此无法看到它们吗?
我还假设您在PHP脚本中使用相同的文件引用无疑会失败,因为它会尝试编写Apache NOT 具有权限的文件,而无需进行更大的修改。< / p>