2012-09-29 37 views
4

我有一個小PSGI應用程序,它需要一個上傳表單,並將其傳遞到另一個腳本進行處理:使用PSGI,是否可以更改上傳文件的命名方式?

#!/usr/bin/perl 

use strict; 
use warnings; 

use Plack::Request; 
use HTTPStatusCode; 

my $app = sub { 
    my $req = Plack::Request->new(shift); 

    my $content; 
    if (keys %{$req->uploads}) { 
     $content = do_something_with_upload($req); 
    } else { 
     $content = display_form(); 
    } 

    return [ 
     HTTPStatusCode->SUCCESS, 
     [ 'Content-type', 'text/html' ], 
     [ $content ], 
    ]; 
}; 

的文件被上傳成功,就像這樣/tmp/Fw8n6j0ICn.txt。問題是,處理依賴於文件被上傳時的命名。

是否有可能更改文件的上傳方式,以便他們轉到/tmp/Fw8n6j0ICn/original_name.txt

回答

4

您可以通過filename方法$request對象檢索原始文件名,因此您基本上可以將$request->path複製到您想要的任何內容並處理該文件。

相關問題