aria2下载请求完成,并且修复一个远程服务端path的bug
This commit is contained in:
parent
32ca1132f2
commit
2ade8861c9
4 changed files with 47 additions and 2 deletions
|
@ -35,6 +35,7 @@ class RemoteDownload extends Controller{
|
|||
}
|
||||
$aria2Options = Option::getValues(["aria2"]);
|
||||
$aria2 = new Aria2($aria2Options);
|
||||
$downloadStart = $aria2->addUrl(input("post.url"));
|
||||
}
|
||||
|
||||
}
|
|
@ -6,9 +6,49 @@ use think\Db;
|
|||
|
||||
class Aria2 extends Model{
|
||||
|
||||
|
||||
public function __construct($options){
|
||||
private $authToken;
|
||||
private $apiUrl;
|
||||
private $savePath;
|
||||
private $saveOptions;
|
||||
public $reqStatus;
|
||||
public $reqMsg;
|
||||
|
||||
public function __construct($options){
|
||||
$this->authToken = $options["aria2_token"];
|
||||
$this->apiUrl = rtrim($options["aria2_rpcurl"],"/")."/";
|
||||
$this->saveOptions = json_decode($options["aria2_options"],true);
|
||||
$this->savePath = $options["aria2_tmppath"];
|
||||
}
|
||||
|
||||
public function addUrl($url){
|
||||
//{"params": ["token:123123132",["https://www.baidu.com/img/baidu_jgylogo3.gif"],{"dir":"../"}], "jsonrpc": "2.0", "id": "qer", "method": "aria2.addUri"}
|
||||
$reqFileds = [
|
||||
"params" => ["token:".$this->authToken,[
|
||||
$url,["dir" => $this->savePath],
|
||||
]],
|
||||
"jsonrpc" => "2.0",
|
||||
"id" => uniqid(),
|
||||
"method" => "aria2.addUri"
|
||||
];
|
||||
$reqFileds["params"][1][1] = array_merge($reqFileds["params"][1][1],$this->saveOptions);
|
||||
$reqFileds = json_encode($reqFileds,JSON_OBJECT_AS_ARRAY);
|
||||
$respondData = $this->sendReq($reqFileds);
|
||||
}
|
||||
|
||||
private function sendReq($data){
|
||||
$curl = curl_init();
|
||||
curl_setopt($curl, CURLOPT_URL, $this->apiUrl."jsonrpc");
|
||||
curl_setopt($curl, CURLOPT_POST, 1);
|
||||
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
|
||||
curl_setopt($curl, CURLOPT_TIMEOUT, 15);
|
||||
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
|
||||
$tmpInfo = curl_exec($curl); // 执行操作
|
||||
if (curl_errno($curl)) {
|
||||
$this->reqStatus = 0;
|
||||
$this->reqMsg = "请求失败,".curl_error($curl);
|
||||
}
|
||||
curl_close($curl); // 关闭CURL会话
|
||||
return json_decode($tmpInfo); // 返回数据,json格式
|
||||
}
|
||||
|
||||
}
|
||||
|
|
2
public/downloads/.gitignore
vendored
Normal file
2
public/downloads/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
*
|
||||
!.gitignore
|
|
@ -1501,6 +1501,8 @@ function QiniuJsSDK() {
|
|||
local_path = '/path/'+that.URLSafeBase64Encode(pathTmp);
|
||||
}
|
||||
if(uploadConfig.saveType == "remote"){
|
||||
pathTmp = file.path;
|
||||
local_path = that.URLSafeBase64Encode(pathTmp);
|
||||
var url = qiniuUploadUrl + 'mkfile.php?size=' + file.size +"&key="+ key+"&fname="+ fname +"&path="+local_path;
|
||||
}else{
|
||||
var url = qiniuUploadUrl + '/mkfile/' + file.size + key + fname + x_vars_url+local_path;
|
||||
|
|
Loading…
Add table
Reference in a new issue