2011-08-09 8 views
0

は、私が使用しなくても、WebページからファイルをアップロードしようとしているWebページからファイルをアップロードする:たPerl:

my $query = CGI->new; 
my $filename = $query->param("File"); 
my $upload_filehandle = $query->upload("File"); 

は私のフォームは、いくつかの入力フィールドがあり、片方のみのファイル名です。だから私はフォームを解析するときに、私は1パスですべての入力フィールドを解析します。これは、私がmy $filename = $query->param("File");を使用してファイル名を持っていることを意味しますが、私が知る限り、実際にアップロードするにはmy $upload_filehandle = $query->upload("File");を使用できません。

アドバイスありがとうございます。

よろしくお願いいたします。

答えて

0

どのように入力フィールドを解析していますか?もっと重要なのはなぜCGIを使用していて、その機能の一部を再実装しているのですか?

これはまだ動作するはずです:

my %args    = how_you_are_parsing_the_url(); 
my $query    = CGI->new;    #this parses the url as well 
my $upload_filehandle = $query->upload("File"); #assuming the input is named File 
+0

を私はむしろ、入力フィールドによって、入力フィールドよりも、全体を一度フォームのフィールドを解析しています。私は以下を使用しています: [code] my $ FormData; if($ ENV {'REQUEST_METHOD'} eq "POST") { read(STDIN、$ FormData、$ ENV {'CONTENT_LENGTH'}); } #各フォーム入力の名前と値を取得します。 my @pairs = split(/&/、$ FormData); ...など。 [/ code] – Schemer

+0

私は試しました: my $ upload_filehandle = $ query-> upload( "File"); 運がありません。 – Schemer

+0

@Schemerは 'File'という名前のファイルを保持する入力ですか? –

関連する問題