需要一些可以从服务器机器下载文件的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脚本,它将文件转换为另一种格式,并将新转换的文件保存到dir ex:/ upload->直到这里我完成了脚本编写.
解决方法
@H_403_14@ 重新排列HTML标头有效.这是工作脚本.一个人可以照原样使用它
use CGI; my $html= new CGI; #get the file name from URL ex. http://<server_IP>/cgi-bin/download.cgi?a=testing.txt my $file= $html->param('a'); # $file is nothing but testing.txt my $filepath= "/var/www/upload/$file"; print ("Content-Type:application/x-download\n"); print "Content-Disposition: attachment; filename=$file\n\n"; open FILE,"< $filepath" or die "can't open : $!"; binmode FILE; local $/ = \10240; while (<FILE>){ print $_; } close FILE; # use Unlink if u want to delete the files after download. #unlink ($filepath);