Commit 8a9bbf4d authored by rlgy's avatar rlgy

app上传

parent a11223f7
...@@ -10,6 +10,7 @@ namespace backend\controllers; ...@@ -10,6 +10,7 @@ namespace backend\controllers;
use Yii; use Yii;
use common\models\pwallet\AppVersion; use common\models\pwallet\AppVersion;
use yii\web\UploadedFile;
class AppController extends BaseController class AppController extends BaseController
...@@ -88,4 +89,17 @@ class AppController extends BaseController ...@@ -88,4 +89,17 @@ class AppController extends BaseController
} }
return ['code' => 1, 'msg' => 'failed']; return ['code' => 1, 'msg' => 'failed'];
} }
public function actionUpload()
{
Yii::$app->response->format = 'json';
$apk = UploadedFile::getInstanceByName('apk');
try {
$filepath = Yii::$app->uploader->upload($apk);
return ['code' => 0, 'msg' => 'succeed', 'path' => $filepath];
} catch (\Exception $e) {
return ['code' => $e->getCode(), 'msg' => $e->getMessage()];
}
}
} }
\ No newline at end of file
...@@ -82,6 +82,14 @@ $this->registerJsFile('@web/js/app/index.js'); ...@@ -82,6 +82,14 @@ $this->registerJsFile('@web/js/app/index.js');
<input type="text" name="download_url" placeholder="" autocomplete="off" class="layui-input"> <input type="text" name="download_url" placeholder="" autocomplete="off" class="layui-input">
</div> </div>
</div> </div>
<div class="layui-form-item">
<label class="layui-form-label" style="width: 100px;">上传APP</label>
<div class="layui-input-block">
<button type="button" class="layui-btn" id="upload1">
<i class="layui-icon">&#xe67c;</i>上传
</button>
</div>
</div>
<div class="layui-form-item layui-form-text"> <div class="layui-form-item layui-form-text">
<label class="layui-form-label" style="width: 100px;">更新日志</label> <label class="layui-form-label" style="width: 100px;">更新日志</label>
<div class="layui-input-block"> <div class="layui-input-block">
......
var table1 = layui.table; var table1 = layui.table;
var table2 = layui.table; var table2 = layui.table;
var form = layui.form; var form = layui.form;
var upload = layui.upload;
var type = [ var type = [
{code: 0, name: ''}, {code: 0, name: ''},
{code: 1, name: '安卓稳定版'}, {code: 1, name: '安卓稳定版'},
...@@ -61,6 +62,22 @@ table2.render({ ...@@ -61,6 +62,22 @@ table2.render({
]] ]]
}); });
form.render(); form.render();
upload.render({
elem: '#upload1',
url: '/admin/app/upload',
accept: 'file',
field: 'apk',
data: {_csrf: $('input[name="_csrf"]').val()},
before: function (obj) {
},
done: function (res) {
if (0 == res.code) {
$('input[name="download_url"]').val(res.path);
layer.msg(res.msg);
}
}
});
layui.table.on('tool(table)', function (obj) { layui.table.on('tool(table)', function (obj) {
var data = obj.data; var data = obj.data;
var event = obj.event; var event = obj.event;
......
123
\ No newline at end of file
...@@ -49,24 +49,22 @@ class Uploader extends Component ...@@ -49,24 +49,22 @@ class Uploader extends Component
} }
$this->absolute = rtrim(str_replace('\\', '/', $this->absolute), '/') . '/'; $this->absolute = rtrim(str_replace('\\', '/', $this->absolute), '/') . '/';
try { if (empty($this->upload_class)) {
if (empty($this->upload_class)) { //默认保存到本地
//默认保存到本地 if ($uploaded_file->saveAs($this->absolute . $savename)) {
$uploaded_file->saveAs($this->absolute . $savename);
return rtrim($this->baseuri, '/') . '/' . $savename; return rtrim($this->baseuri, '/') . '/' . $savename;
} else { }
if (class_exists($this->upload_class)) { throw new Exception(3, '保存文件失败');
if (method_exists($this->upload_class, $this->upload_method)) { } else {
$this->upload_params = array_push($this->upload_params, $savename, $uploaded_file->tempName); if (class_exists($this->upload_class)) {
call_user_func_array([$this->upload_class, $this->upload_method], $this->upload_params); if (method_exists($this->upload_class, $this->upload_method)) {
return $this->baseuri . $savename; $this->upload_params = array_push($this->upload_params, $savename, $uploaded_file->tempName);
} call_user_func_array([$this->upload_class, $this->upload_method], $this->upload_params);
throw new Exception(2, 'upload method not exists.'); return $this->baseuri . $savename;
} }
throw new Exception(1, 'upload class not exists.'); throw new Exception(2, 'upload method not exists.');
} }
} catch (Exception $exception) { throw new Exception(1, 'upload class not exists.');
throw $exception;
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment