アリクラウドOSSヴュー(署名サーバ往路後の)ファイルのアップロードを実現

参考サイト:https://help.aliyun.com/document_detail/31926.html

< テンプレート> 
    < DIV クラス= "テスト" > 
        < DIV > 
                
            < 入力タイプ= "ファイル" ID = "ファイル" = "ファイル"  /> 
            < @click = "()アップロード" HREF = "JavaScriptを:;" >上传</ A > </ DIV > </ DIV > </ テンプレート> < スクリプト>

        
    





        

    }、 
    (){ 搭載
    
        この.getOssToken()。
    }、
    メソッド:{ 
        // 获取上传通行证
        getOssToken(){
             VARの_self =  この;
            この$ http.get(' / API / V1 / alioss /記号' ).then(関数(RES){
                 場合(res.data.codeの==  200 ){ 
                    _self.aliyunOssToken = res.data.data; 
                } そう{ 
                    _selfの$ message.error(res.data.message); 
                }
            })。キャッチ関数(誤差){ 
                にconsole.log(エラー)
            })
        }、 
アップロード){ 
            VARの_self =  この;
            VAR getSuffix =  関数(filename)で{
                 VARのPOS = fileName.lastIndexOf(" " )。
                VaRの接尾辞= '' ;
                もし(POS != - 1 ){ 
                    サフィックス= fileName.substring(POS); 
                }  
                リターンサフィックス; 
            } 

            するvar ファイル= $(" #FILE " ).val();
             IF (file.length ==  0 ){ 
                アラート(" ファイルを選択してください" ); 
            } 

            VARのファイル名=  新しい新しい日付()getTime()。+ getSuffix(ファイル);
             VAR FORMDATA =  新新FORMDATA(); 

            // 債券FORMDATAの場合に追加追加していることに注意してください
            formData.appendを("キー" 、_self.aliyunOssToken.dir + ファイル名); // 存储在OSS的文件路径
            formData.append(' OSSAccessKeyId ' 、_self.aliyunOssToken.accessid)。// accessKeyId 
            formData.append(' ポリシー' 、_self.aliyunOssToken.policy)。// ポリシー
            formData.append(' シグネチャ' 、_self.aliyunOssToken.signature)。// 签名
            formData.append(" ファイル" 、$(" #FILE " )[ 0 ] .files [ 0 ]);
            formData.append(' success_action_status ' 200はある); // 成功した操作コードの後の戻り


            のvar URL = _self.aliyunOssToken.host;
             するvar fileURL = _self.aliyunOssToken.host + ' / ' + _self.aliyunOssToken.dir + ファイル名; 
            $アヤックス({ 
                URL:URL、
                種類:' POST ' 
                データ:FORMDATA、
                // 非同期:偽への
                キャッシュ:
                のcontentType:
                PROCESSDATA:
                成功:関数(データ){ 
                    にconsole.log(fileUrl)。
                    console.log(データ)。
                }、
                エラー:関数(データ){ 
                    にconsole.log(データ)。
                } 
            })。
        } 
    } 
} 
</ スクリプト>

 

おすすめ

転載: www.cnblogs.com/zion0707/p/10974556.html