OSSにアップロードBASE64

1.コンバートbase64でブロブ

[ - クライアントのBASE64から直接提出OSSサポートは絵にそれを保存し、符号化 - ]

	BLOBに// ** dataURL ** 
関数dataURLtoBlob(dataurl){ 
	デバッガ
	VAR ARR = dataurl.split( '')、MIMEの=のARR [0] .match(/:?(*); /)[1] 、
		BSTR = ATOB、N = bstr.length、u8arr =新しいUint8Array(N)([1] ARR)。
	一方、(N--){ 
		u8arr [N] = bstr.charCodeAt(N)。
	} 
	新しいブロブ([u8arr]、{タイプ:MIMEを})を返します。
} 

// ** dataURLにBLOB ** 
関数blobToDataURL(BLOB、コールバック){ 
	VARのA =新規FileReader()。
	a.onload =関数(E){コールバック(e.target.result)。}。
	a.readAsDataURL(BLOB)。
} 



 VAR _file = dataURLtoBlob(C); // C就是BASE64字符串

// Blob_test()。
Blob_test(){機能
	VARブロブを、
	(もし!window.Blob)
		console.log( '不支持'); 
	他の
		ブロブ= _file。
	IF(window.URL){ 
		のdocument.getElementById( "はmyBody")。innerHTMLの=「<aダウンロードhref="' + window.URL.createObjectURL(blob) +'" target="_blank">文件下载する</a> 「; 
	} 
} 

Blob_test()

 

2.ブロブのアップロードOSS

VARフォーム=新しいいるFormData()
form.append( '署名'、this.ossData.signature)
form.append( 'アクセスキー'、this.ossData.accessKey)
form.append( 'ポリシー'、this.ossData.policy)
形.append( 'キー'、キー)

VAR _fileBlob = dataURLtoBlob(BASE64)// Cの就是のbase64で字符串
form.append( 'ファイル'、_fileBlob)

するvar reqは=新しいXMLHttpRequestを()
req.open( 'ポスト'、これ。 actionUrl、偽)
req.send(フォーム)	

  

 

  

おすすめ

転載: www.cnblogs.com/kongge/p/10960460.html