MediaWiki内部js上传文件通过全局mw.Api
对象完成。
如上传本地文件:
/**
* MediaWiki API Demos
*/
var param = {
filename: 'File_1.jpg',
format: 'json',
ignorewarnings: 1
},
fileInput = $( '<input/>' ).attr( 'type', 'file' ),
submitBtn = $( '<input/>' ).attr( 'type', 'button' ).attr( 'value', 'Upload' ),
api = new mw.Api();
$( '#bodyContent' ).append( [ fileInput, submitBtn ] );
$( submitBtn ).on( 'click', function () {
api.upload( fileInput[ 0 ], param ).done( function ( data ) {
console.log( data.upload.filename + ' has sucessfully uploaded.' );
} ).fail( function ( data ) {
console.log( data );
} );
} );
![](https://img.haomeiwen.com/i3070288/5f92cc8999393f95.png)
MediaWiki官方上传文件各种方式都有具体示例,基本能拿来直接用。
这里主要说明的是低版本MediaWiki中部分模块挂载在mediawiki.api.*
,遇到mv.Api没有的模块,需主动引入。像上面用到的mv.Api().upload
:
mw.loader.load('mediawiki.api.upload');
附:
网友评论