Public/Erpadmin/lib/webuploader-0.1.5/src/lib/transport.js

(开头部分) 3KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

/**
 * @fileOverview Transport
 */
define([
    '../base',
    '../runtime/client',
    '../mediator'
], function( Base, RuntimeClient, Mediator ) {

    var $ = Base.$;

    function Transport( opts ) {
        var me = this;

        opts = me.options = $.extend( true, {}, Transport.options, opts || {} );
        RuntimeClient.call( this, 'Transport' );

        this._blob = null;
        this._formData = opts.formData || {};
        this._headers = opts.headers || {};

        this.on( 'progress', this._timeout );
        this.on( 'load error', function() {
            me.trigger( 'progress', 1 );
            clearTimeout( me._timer );
        });
    }

    Transport.options = {
        server: '',
        method: 'POST',

        // 跨域时,是否允许携带cookie, 只有html5 runtime才有效
        withCredentials: false,
        fileVal: 'file',
        timeout: 2 * 60 * 1000,    // 2分钟
        formData: {},
        headers: {},
        sendAsBinary: false
    };

    $.extend( Transport.prototype, {

        // 添加Blob, 只能添加一次,最后一次有效。
        appendBlob: function( key, blob, filename ) {
            var me = this,
                opts = me.options;

            if ( me.getRuid() ) {
                me.disconnectRuntime();
            }

            // 连接到blob归属的同一个runtime.
            me.connectRuntime( blob.ruid, function() {
                me.exec('init');
            });

            me._blob = blob;
            opts.fileVal = key || opts.fileVal;
            opts.filename = filename || opts.filename;
后面还有 70 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。