HTML collection对象是一个类数组,如何将它转化为正常的数组,我们可以这样:
var obj = document.getElementsByClassName('songlists')
上面的是HTML collection,下面是转化方法
var arr = Array.prototype.slice.call(obj)
OR
[].slice.call(obj)
图片上传转换成Base64,然后再转成 file 提交给后端
图片上传代码转换成Base64
将Base64格式的图片转换成file提交给后端
// Base64Val base64格式的图片
// fileName 生成文件的名字 (可自定义)
var bytes=window.atob(Base64Val.split(',')[1])
var ab = new ArrayBuffer(bytes.length)
var ia = new Uint8Array(ab)
for (var i = 0i <bytes.lengthi++) {
ia[i] = bytes.charCodeAt(i)
}
this[fileName] = new File( [ab] , fileName , {type : 'image/png'})
OR
/**
* @param base64Codes
* 图片的base64编码
*/
function sumitImageFile(base64Codes){
var form=document.forms[0]
var formData = new FormData(form)//这里连带form里的其他参数也一起提交了,如果不需要提交其他参数可以直接FormData无参数的构造函数
//convertBase64UrlToBlob函数是将base64编码转换为Blob
formData.append("imageName",convertBase64UrlToBlob(base64Codes))//append函数的第一个参数是后台获取数据的参数名,和html标签的input的name属性功能相同
。。。。。。。。。。。。。
作者:Vam的金豆之路
篇幅有限更多请见扩展链接:http://www.mark-to-win.com/tutorial/50928.html
你的理解有问题html 不能变成 ext对象,但是ext可以对html dom进行编辑
ext有很多对象,每个对象都有自己的属性和方法。而html的每个标签也可以看作对象,但是属性和方法与ext有本质区别,ext本身没有提供这种转换方法
你最好还是说你的原始问题吧,估计的思路偏了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)