perl - 如何使用 Mojo::Useragent 放置文件?
问题描述
我正在尝试使用 PUT 方法使用 Mojo::UserAgent 上传文件,文件可能很大,而不是将文件内容作为标量传递,还有其他方法吗?
这是我尝试过的:
use strict;
use warnings;
use Mojo::UserAgent;
use Mojo::Asset::File;
my $ua = Mojo::UserAgent->new;
my $file = $ARGV[0];
die("File not found") unless(-f $file);
my $a_file = Mojo::Asset::File->new(path => $file);
my $tx = $ua->put('https://postman-echo.com/put' => {'X-Test' => '123G'} => $a_file);
print $tx->success;
print "\n\n";
print $tx->result->body;
print "\n\n";
print $tx->req->text;
解决方案
请参阅build_tx
Mojo::UserAgent和注释的示例
# PUT request with content streamed from file
在tx
Mojo::UserAgent::Transactor中。
my $ua = Mojo::UserAgent->new;
my $put = $ua->build_tx(PUT => '…' => {'X-Test' => '123G'});
$put->req->content->asset(Mojo::Asset::File->new(path => $file));
my $tx = $ua->start($put);
推荐阅读
- android - 想要将缩略图添加到 videoview。在安卓工作室
- javascript - 如何使用 Material-UI Autocomplete 组件选择多个选项并添加新选项?
- ms-word - 您可以根据 MS Word 中另一个单元格的内容为一个单元格着色吗?
- logging - 是否可以在 GLib 新结构化日志记录中为每个域/日志级别设置不同的写入器函数?
- javascript - 如何以随机顺序运行一组函数
- php - 与 SQL Server 连接的 PHP 登录表单不起作用
- javascript - 我的页面上未应用比例属性(anime.js)
- c# - 无法将 IApplicationDbContext 注入 .net 核心中的服务类
- javascript - 从 JavaScript/TypeScript 中的字符串获取特定数据(用于创建表的 SQL 脚本)
- javascript - Discord.js 错误 - MaxListenersExceededWarning:检测到可能的 EventEmitter 内存泄漏