Azure Web 应用程序,从 wwwroot 路径读取文件

问题描述 投票:0回答:1

首先,我是这个天蓝色网络应用程序的新手,我发现这个服务的行为显然与虚拟或本地服务器不同。我有一个 php 应用程序,可以在 wwwroot 下的文件夹内加载 pdf 文件,该应用程序可以巧妙地完成此操作,我们使用以下 php 脚本:

$name= $_FILES['archivocontrato']['name'];'''
$tmppath= $_FILES['archivocontrato']['tmp_name'];'''
$rootfolder = $_SERVER['DOCUMENT_ROOT'];'''
$fullpath=  $rootfolder."/pdf/".$namce;
copy($tmppath,$fullpath);
echo 'File succesfully saved to forlder!'

这部分确实有效,它加载文件,并且文件保存在提供的目录下。

但是,当我们尝试访问它并通过 html 元素锚点打开它时。当我们尝试单击时,我们收到错误 404 未找到。正在使用以下脚本:

 $rootfolder = $_SERVER['DOCUMENT_ROOT'];
 $fullpath=  $rootfolder."/pdf/contratos/"; 
 $actionButton = '<a href="'.$fullpath'.$row['nombre_archivo']." class="btn btn-dark" target="_blank"  ContentType = "application/pdf" role="button"><i class="fa fa-file-text"></i> Ver Desc</a>';
  $output['data'][] = array(
    $row['Id'],
    $row['Title'],
    $row['Description'],
    $row['fileName'],
    $actionButton
  );

为什么这样做,因为我们用它来填充 pd 文件列表的表。现在这两种票据在开发环境中都运行顺利,没有任何麻烦。然而,当我们将 php 应用程序发布到 azure-web-site 应用程序并单击该锚点时,我们会出现错误 404。

有人可以解释一下是否可以完全按照这种方式完成。因为假设没有存储预算,也没有 Blob 存储,所以必须在应用程序 forlder 中以这种方式完成。我们还需要配置其他东西吗?我们是否使用其他东西,例如另一个 html 元素?

php azure web-applications
1个回答
0
投票

我让它工作显然我们不需要完整的路径,我们应该始终假设我们位于wwwroot。基本上我放弃了所有内容,但 /pdf/ 作为目录以及文件名和 presto!

© www.soinside.com 2019 - 2024. All rights reserved.