1.后台返回值加入ID
application/admin/controller/Ajax.php文件中upload()方法,2处返回值加上附件ID
这样上传文件后,返回值便会多出file_id字段
2.比如添加商品页面 上传商品图,得到file_id;
<div class="form-group"> <label class="control-label col-xs-12 col-sm-2">{:__('缩放图')}:</label> <div class="col-xs-12 col-sm-8"> <div class="input-group"> <input id="c-image" class="form-control" size="50" name="row[image]" type="text" value="{$row.image|htmlentities}"> <input type="hidden" id="file-id" name="row[file_id]" value=""> <div class="input-group-addon no-border no-padding"> <span><button type="button" id="faupload-image" class="btn btn-danger faupload" data-input-id="c-image" data-file-id="file-id" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span> <span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-file-id="file-id" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span> </div> <span class="msg-box n-right" for="c-image"></span> </div> <ul class="row list-inline faupload-preview" id="p-image"></ul> </div> </div>
主要多了这3处代码
修改/public/assets/js/require-upload.js文件中onUploadSuccess回调方法加入代码
var file_id = $(button).data("file-id") ? $(button).data("file-id") : ""; if(file_id){ var inputfileid = $("#" + file_id); inputfileid.val( data.file_id); }
这样上传时,上传附件后,file_id就会进入input框以供后续添加商品存储;
3.选择文件也需要得到file_id
修改/public/assets/js/backend/general/attachment.js文件中更“选择”按钮点击时间回调方法修改代码
Fast.api.close({url: row.url, multiple: multiple,file_id:row.id});
主要是加入file_id
修改/public/assets/js/require-form.js文件中faselect方法加入代码
var file_id = $(button).data("file-id") ? $(button).data("file-id") : ""; if(file_id){ var inputfileid = $("#" + file_id); inputfileid.val( data.file_id); }
至此,大功告成;上传和选择input框均可拿到file_id
标签:fastadmin,上传,id,js,file,附件,data,ID From: https://www.cnblogs.com/zhangyouwu/p/18572476