【发布时间】:2013-12-03 00:10:50
【问题描述】:
我确定有人问过这个问题,但我找不到适合我的答案的问题。我有两个脚本,一个使用 LWP::UserAgent 发布帖子,另一个基本上接收数据,在这种情况下,我只是想写一个文件。该文件确实已写入,但无法打开,并且大小为 1262,这让我相信只有其中一部分正在被读取。
这就是我正在做的事情(值得注意的是,我对文件进行了 uri/base64 编码并通过 json 传递所有内容,这正在工作,但我的新任务是将文件拆分出来并将所有内容作为表单参数传递):
发布脚本:
open (IMAGE, "./flower.jpg") or die "$!";
$raw_string1 = do{ local $/ = undef; <IMAGE>; };
my $req = HTTP::Request->new(POST => $url);
$req->content_type("application/x-www-form-urlencoded");
$req->content("json_string=$json&file_1=$raw_string1");
my $ua = LWP::UserAgent->new;
$res = $ua->request($req);
print $res->content;
接收者脚本:
$cgi = CGI->new;
my $json_post = $cgi->param('json_string');
my $file_1 = $cgi->param('file_1');
open my $fh, '>', "$path/flower.jpg" or die $!;
binmode $fh;
print $fh $file_1;
close $fh;
提前感谢您的帮助!
【问题讨论】:
-
欢迎随机投票!我可以提供更多的代码,更少的代码,更好的细节来说明我想要做什么,但是随机投票很糟糕。
-
您是如何收到
$file_1变量的? -
感谢您的回复。我编辑了上面的代码以显示在接收器脚本中。