如何显示图像?

时间:2014-11-04 21:13:28

标签: perl

我不知道为什么它不起作用,因为我试图将其上传到某个目录。

#!/usr/bin/perl use CGI qw(:standard);
#use strict;

my $cgi         = new CGI;
my $upload_dir  = '/home/...';

my $max_files   = 3; #maximum number of files allowed.
print $cgi->header(-type => 'text/html');
for (my $count = 1; $count <= $max_files; $count++){
    my $filen    = "file".$count;
    my $file     = $cgi->param($filen);
    my $filename = $file;
    $filename    =~ s/^.*(\\|\/)//g;

    if($file)
    {
        open(OUT, ">$upload_dir/$filename") || die print "Fail to upload: $!";
        while(<$file>) {
            print OUT;
        }
        close(OUT);
    }
}

print "File(s) Uploaded\n";

print qq~
        <HTML>
       <head></head>
       <body>
       <h1>
       <img src="path/to/myimage">
       My Name is blabla.
       </h1>
       </body>
       </HTML> ~;

我将我的图片文件上传到文档根目录,但由于某种原因,该页面无法显示该文件。

1 个答案:

答案 0 :(得分:0)

在我看来,脚本应该做的是将文件上传到某个目录。 你说它是这样做的,但页面不显示文件。

所以唯一的问题可能是

<img src="path/to/myimage">

不幸的是,您似乎已经在这里更改了代码,或者完全清楚它为什么不起作用:

注意'myimage'不是您在脚本中写入的文件的名称,因此这不起作用。

如果你的脚本中的内容是正确的,但在此处以不同的方式发布,另一个原因可能是路径。

“path / to /”路径可能不是您所说的路径,您将其存储在'/ home / ...'中   (无论在哪里),并从脚本的路径访问它。所以现在它应该寻找一个子目录“path / to”和一个文件'myimage'。

尝试从脚本路径(../ image_directory/file1)中提供绝对路径(/ home / user / image_directory / file1)或相对路径。

祝你好运

由于缺乏声誉,我无法发表评论:/

如果用其他程序打开图像时效果不错, 问题应该是权限或路径。

您是否检查了目录和文件的权限?他们可以阅读吗?

要仔细检查,请尝试访问同一路径中的其他图像或其他路径中的其他图像,依此类推。 HTML通常没有告诉你为什么它无法加载所以你必须进行实验。