HTACCESS + PHP Headers用于路由图像下载

时间:2018-03-09 20:15:33

标签: php .htaccess api routing

我正在为个人项目开发基本的API / REST设置,并帮助我理解更好的API / REST构建。

我的目标:

  1. 将图片发布到我的API(已完成)
  2. 压缩(已完成)
  3. 将其下载回 (卡住)
  4. 在回复时,它应该只是JSON(带文件参数),对吗?

    接下来的问题,格式相似,我希望有一个网址: https://example.com/api/download/image.png

    它也会提供JSON(文件参数为" image.png")。这将使我能够改变文件路径,但URL将保持不变。

    虽然服务器正在响应的是:

    enter image description here

    我的HTACCESS,如下:

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l
    
    RewriteRule ^api/download/(.*)$ api.php?download=true&image=$1 [L,QSA]
    RewriteRule ^api/(.*)$ api.php?image=$1 [L,QSA]
    

    代码片段'下载'方法

    if(!empty($_GET['image']) && isset($_GET['download']) && ($_GET['download'] === 'true') ) {
        echo "temp/".$_GET['image'];
        if(file_exists("temp/".$_GET['image'])) {
            header($protocol." 200 OK");
            header('Content-Type: application/json');
    
            $download['download'] = "https://example.com/newtemppath/".$_GET['image'];
            echo json_encode($download);
    
        } else {
            header($protocol." 404 Not Found");
        }
    }
    

    希望这很清楚,在这里寻找任何方向,谢谢!

0 个答案:

没有答案