gpt4 book ai didi

Perl CGI 通过网络浏览器下载文件

转载 作者:行者123 更新时间:2023-12-01 19:05:44 33 4
gpt4 key购买 nike

需要一些可以从服务器计算机下载文件的 cgi-perl 脚本。 EX:单击下载链接,它将打开“另存为”窗口并允许我将文件保存在本地计算机上。

我已经使用 CGI 创建了一个网页,使用它我将上传一个文件到服务器,并运行一个 perl 脚本将其转换为其他格式(直到这里我完成了)。现在我需要将此文件返回(下载回)到系统。

#!/usr/bin/perl
#print "Content-type: text/html\n\n";
my $filepath='/upload/testing.pm';

print "Content-Type: text/html\n\n";

open("DOWNLOADFILE", "<".$filePath);
while($fileContents = <DOWNLOADFILE>) {
print $fileContents;
}
print "Content-Type: text\n";
print "Content-Disposition: attachment; filename='testing.pm'\n";
print "Content-Description: File to download\n\n";
close DOWNLOADFILE;

将文件从我的机器(客户端)上传到服务器机器,其中我有一个 perl 脚本,它将文件转换为另一种格式,并将新转换的文件保存到目录 ex:/upload-> 直到我在这里完成脚本编写。

现在我需要使用浏览器将此文件下载回客户端计算机。在本例中,我尝试将testing.pm 文件下载回客户端计算机。

最佳答案

我认为您刚刚将内容处置 header 拼写错误。应该是“附件”,而不是“附件”。

更新(以下评论):

好吧,进一步观察,我发现您正在打印一个 CGI header (内容类型:text/html),后跟两个换行符,然后打印更多 CGI header 并期望浏览器注意到它们。响应中的第一个空行将告诉浏览器 header 已完成。因此,您的第二批标题将仅被视为内容。

我还看到您在第二组 header 之前打印文件的内容。这将使它们成为页脚而不是页眉:-)

您需要重新排序代码,以便仅返回一组 header 。然后返回数据。

关于Perl CGI 通过网络浏览器下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15294815/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com