Croppic / php - 上传的图像不会显示在localhost上

时间:2014-10-13 14:40:27

标签: php

我正在使用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照片查看器中查看图像。

那么为什么在没有用户权限的情况下创建图像来查看它呢?

1 个答案:

答案 0 :(得分:1)

某些操作系统可能会表现得有点滑稽,特别是在处理apache时。

我假设你提到使用PHP,你实际上正在运行apache。

使用* nix或其他运行apache的操作系统引用某些内容时,请确保正确引用文件。

告诉Apache您的 uploadURL cropURL 位于 /assets/etc/etc/script.php ,这可能会回归到root在* nix系统上。你必须非常小心地引用其他脚本 - 因此无法看到它们吗?

我还假设您在PHP脚本中使用相同的文件引用无疑会失败,因为它会尝试编写Apache NOT 具有权限的文件,而无需进行更大的修改。< / p>