从html文件获取字节数组 [英] Get byte array from html file

查看:114
本文介绍了从html文件获取字节数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



代码如下:

 < script type =text / javascript> 
$ b $(document).ready(function(){

$('#cmdUpload')。click(function(){

uploadFile ();

});

function uploadFile(){

var file = $(#objFile)[0] .files [0];




}
});
< / script>
< body>
< input type =fileid =objFilesize =50/>< br />< br />
< input type =buttonid =cmdUploadvalue =Upload/>
< / body>

非常感谢

解决方案

这是返回字节的示例代码



Javascript:

 < script type =text / javascript> 
$(document).ready(function(){
$('#cmdUpload')。click(function(){
uploadFile();
});

});

function uploadFile(){
var input = document.getElementById('objFile');
// var file = $(#objFile)[0] .files [0];
var file = input.files [0];
fr = new FileReader();
fr.onload = receivedText;
//fr.readAsText(file);
fr.readAsDataURL(file);
}

函数receivedText(){
var b64Data = fr.result.split(',');
var contentType ='image / jpeg';
//document.getElementById('editor').appendChild(document.createTextNode(fr.result))
var byteCharacters = atob(b64Data [1]);
var byteNumbers = Array.prototype.map.call(byteCharacters,
charCodeFromCharacter);
var uint8Data = new Uint8Array(byteNumbers);
var blob = b64toBlob(b64Data [1],contentType);
var blobUrl = URL.createObjectURL(blob);


函数charCodeFromCharacter(c){
return c.charCodeAt(0);
}

函数b64toBlob(b64Data,contentType,sliceSize){
contentType = contentType || ;
sliceSize = sliceSize || 1024;
var byteCharacters = atob(b64Data);
var byteArrays = []; (var offset = 0; offset< byteCharacters.length; offset + = sliceSize){
var slice = byteCharacters.slice(offset,offset + sliceSize);


var byteNumbers = Array.prototype.map.call(slice,charCodeFromCharacter);
var byteArray = new Uint8Array(byteNumbers);
byteArrays.push(byteArray);
}
for(var i = 0; i< byteArray.length; i ++){
alert(byteArray [i]);
}

}
< / script>

HTML:

 < div> 
< input type =fileid =objFilesize =50/>< br />
< br />
< input type =buttonid =cmdUploadvalue =Upload/>
< div id =editor>< / div>
< / div>

希望它能帮助你。请让我知道进一步的援助。


I was just wondering about how could i possible get bytes array from an html input file.

The code is as below:

  <script type ="text/javascript">            

        $(document).ready(function() {

            $('#cmdUpload').click(function() {

                uploadFile();

            });

            function uploadFile() {

                var file = $("#objFile")[0].files[0];




            }
        });
    </script>
      <body>
     <input type ="file" id="objFile" size="50" /><br/><br/>
     <input type ="button" id="cmdUpload"  value="Upload"/>
    </body>

Thanks so much

解决方案

This is the sample code which is returning Bytes

Javascript :

  <script type="text/javascript">
    $(document).ready(function () {
        $('#cmdUpload').click(function () {
            uploadFile();
        });

    });

    function uploadFile() {
        var input = document.getElementById('objFile');
        // var file = $("#objFile")[0].files[0];
        var file = input.files[0];
        fr = new FileReader();
        fr.onload = receivedText;
        //fr.readAsText(file);
        fr.readAsDataURL(file);
    }

    function receivedText() {
        var b64Data = fr.result.split(',');
        var contentType = 'image/jpeg';
        //document.getElementById('editor').appendChild(document.createTextNode(fr.result))
        var byteCharacters = atob(b64Data[1]);
        var byteNumbers = Array.prototype.map.call(byteCharacters,
                                       charCodeFromCharacter);
        var uint8Data = new Uint8Array(byteNumbers);
        var blob = b64toBlob(b64Data[1], contentType);
        var blobUrl = URL.createObjectURL(blob);
    }

    function charCodeFromCharacter(c) {
         return c.charCodeAt(0);
    }

    function b64toBlob(b64Data, contentType, sliceSize) {
        contentType = contentType || '';
        sliceSize = sliceSize || 1024;
       var byteCharacters = atob(b64Data);
        var byteArrays = [];

        for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {
            var slice = byteCharacters.slice(offset, offset + sliceSize);
            var byteNumbers = Array.prototype.map.call(slice, charCodeFromCharacter);
            var byteArray = new Uint8Array(byteNumbers);
            byteArrays.push(byteArray);
        }
        for (var i = 0; i < byteArray.length; i++) {
            alert(byteArray[i]);
        }

    }
</script>

HTML :

 <div>
    <input type="file" id="objFile" size="50" /><br />
    <br />
    <input type="button" id="cmdUpload" value="Upload" />
    <div id="editor"></div>
</div>

Hope it will help you. please let me know for further assistance.

这篇关于从html文件获取字节数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆