我正在使用Laravel php和Appium。
我希望Appium从某个返回下载文件的路由下载.apk / .ipa文件。
Appium中的App路径:localhost / downloadApp
public function downloadApp(Request $request) {
...
return response()->download($path);
}
如果我尝试这种方式,它就不起作用,我收到错误" [支持]错误:Plist文件不存在:' ... / Info.plist& #34 ;.我不知道为什么,因为如果我在浏览器中调用localhost / downloadApp,它会下载文件。
但如果我在Appium中使用直接链接(http://localhost/uploads/HelloWorld.ipa),它就可以了。
答案 0 :(得分:0)
路径必须指向实际文件。
您可以从代码中下载文件本身,但需要确保:
答案 1 :(得分:-1)
我有同样的问题,我只使用return redirect ($file_path);
,对于apk文件来说效果很好。为了安全起见,我还使用POST方法开始下载。这是我的代码:
//blade code :
<li class="nav-item">
<form method="POST" action="{{url('/files/download')}}">
{{ csrf_field()}}
<button class="btn btn-primary fa fa-download"> download </button>
</form>
</li>
//Route code :
Route::post('/files/download', 'FilesController@download');
//Controller code :
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\File;
use App\Http\Controllers\Controller;
class FilesController extends Controller
{
public function download($file)
{
$file_path = 'your folder path/file.apk';
// if your file in public use $path = "/your folder/file.apk"
// if your file is in out of public you may use two points like that: $path = "../your folder/file.apk"
return redirect ($file_path);
}
}