해당 스크립트의 출력이 포함 된 파일을 다운로드하려고하는 PERL 스크립트가 아래에 있습니다.PERL 스크립트를 통해 파일 다운로드
C에서 정의되지 않은 값에 방법 "헤더"를 호출 할 수 없습니다 :
나는 말한다 오류에 직면 /Apache24/cgi-bin/trim.pl을
그러나 내 출력 파일은 올바른 대상에 올바르게 기록됩니다. 코드 수정과 출력 파일 다운로드를 도와주세요. 대신
print $cgi->header(
의
use strict;
use CGI;
use CGI::Carp qw (fatalsToBrowser);
use File::Basename;
my $q = new CGI;
my $upload_dir = "C:/Apache24/htdocs/files" ;
my ($bytesread, $buffer);
my $numbytes = 1024;
my $trim_out_dir = "C:/Users/Admin/Desktop/vijay/Metagenomics/NGSQCToolkit_v2.3/CGI_Out";
my $out_file = "$trim_out_dir/trimmed.fasta";
my $safe_filename_characters = "a-zA-Z0-9_.-";
$q->cgi_error and error($q, "Error transferring file: " . $q->cgi_error);
my $file = $q->param("seq") || error($q, "No file received.");
my $length = $q->param("len");
my $quality = $q->param("qual");
open (UPLOADFILE, ">$upload_dir/$file") or die "$!";
while ($bytesread = read($file, $buffer, $numbytes)) {
print UPLOADFILE $buffer;
}
close UPLOADFILE;
system("Reads.pl -i $upload_dir/$file -n $length -o $out_file");
open (DOWNLOADFILE, "<$out_file") or die "$!";
print $cgi->header(
-type => 'application/octet-stream'
-attachment => '$out_file');
close DOWNLOADFILE;
다음과 같이 스크립트를 수정했습니다. PERL을 처음 접했을 때 나는 문서 보안 개념에 대해 잘 알지 못합니다. open (DOWNLOADFILE, "<$ out_file") 또는 죽는 "$!"; 인쇄 $ q-> 헤더 ( 유형 => '응용 프로그램/옥텟 스트림' -attachment => "$ out_file"); 닫기 DOWNLOADFILE; 이번에는 스크립트가 성공적으로 실행되지만 out_file을 다운로드 할 수 없습니다. 제발 도와주세요. – Vijay