jfinal文件上传
前端
<input type="hidden" id="courseUrlFileId" name="Audiourl" style="margin-left: 13rem" required
lay-verify="required" value="${record.courseUrl}">
<div class="layui-form-item">
<label class="layui-form-label">选择音频</label>
<div class="layui-input-block">
<button type="button" class="layui-btn" id="videoUpload"><i class="layui-icon"></i>上传音频</button>
</div>
</div>
<script>
layui.use('upload', function () {
var $ = layui.jquery
, upload = layui.upload;
//普通图片上传
var uploadInst = upload.render({
elem: '#videoUpload'
, url: '/aaaa/aaaa' //改成您自己的上传接口
, accept: 'audio' //音频
, size: 5000
, before: function (obj) {
//预读本地文件示例,不支持ie8
obj.preview(function (index, file, result) {
$('#courseUrlFileId').attr('src', result); //图片链接(base64)
});
layer.load(2);
}
, done: function (res) {
layer.closeAll();
//如果上传失败
if (res.result == 'false') {
return layer.msg('上传失败');
}
//上传成功
var fileId = "courseUrlFileId";
$("#" + fileId).val(res.data.src);
}
, error: function () {
//演示失败状态,并实现重传
var demoText = $('#fileUpladText');
demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
demoText.find('.demo-reload').on('click', function () {
uploadInst.upload();
});
}
});
});
</script>
后端
controller
@Clear
public void config() {
if ("config".equals(getPara("action"))) {
render("/aaa/aaa/config.json");//这里地址写成自己的config.json所在的地址
return;
}
UploadFile uf = getFile("upfile");
String fileName = uf.getFileName();
String[] typeArr = fileName.split("\\.");
Record ret = new Record().set("state", "SUCCESS")
.set("url", imgUrl)//文件上传地址
.set("title", fileName)
.set("original", uf.getOriginalFileName())
.set("type", "." + typeArr[1]) // 这里根据实际扩展名去写
.set("size", uf.getFile().length());
renderJson(ret);
}
其实就是简单上传 无聊写的