2

複数のファイル入力タイプを使用して、複数のファイルをアップロードする必要があります。これは、CTRL キーを押しながらファイルをクリックして、1 つの入力タイプだけで実行できることを知っています。バックエンド部分としてperlを使用しています。

   <form action="dsadsa" method="post" enctype="multipart">
    <tr>
        <td>
            <input type="file" id="file_upload" name="file_upload" multiple >
        </td>
    </tr>
    <tr>
        <td>
            <input type="file" id="file_upload" name="file_upload" multiple>
        </td>
    </tr>
    <tr>
        <td>
            <input type="file" id="file_upload" name="file_upload" multiple>
        </td>
    </tr>
    <tr>
        <td>
            <input type="file" id="file_upload" name="file_upload" multiple>
        </td>
    </tr>
    <tr>
        <td>
            <input type="file" id="file_upload" name="file_upload" multiple>
        </td>
    </tr>
    <tr>
   <input type="submit" />
   </form>

それが私のHTML部分です。

そして、ファイルをアップロードするために ajaxForm プラグインを使用しています。

var options = {
            beforeSend: function () {

            },
            uploadProgress : function (event, position, total, percentComplete) {

            },
            success : function (data) {

            },
            error : function (response) {

            },
        };
        $('#myForm').ajaxForm(options);

しかし、パラメータを取得できません( file_upload )

私の perl 側を見たい場合に備えて:

if ($path eq 'dsadas') {   #this is the path in the action part in the form
   my @fhs = cgi->upload('file_upload');  # this is what im talking about, this should get all the files. I also tried using trim_param() instead of cgi->upload.

}
4

1 に答える 1

0

これに基づいて..

Perl の CGI.pm は Firefox の <input type="file", multiple=""> フォーム フィールドを処理できますか?

サーバー側で修正します。

テストされていないコードは単なるハック/例です

 my @fhs = upload('file_upload');
 use File::Type;
 my $ft = File::Type->new();
 my $i = 0;
 my %mimes = { ( $i++ => $ft->checktype_contents(<$_>)) } @fhs;

またはそのようなもの..

これも役立ちます http://perldoc.perl.org/CGI.html#PROCESSING-A-FILE-UPLOAD-FIELD

于 2014-02-10T22:46:51.413 に答える