js获取文件流问题

JavaScript014

js获取文件流问题,第1张

js不能用于操作文件,但是可以通过JS调用PHP等程序对文件流进行操作,我这里只涉及前端调用(JQ AJAX,注意要引用JQ类库,并且AJAX必须在服务端才能运行,也就是你必须搭建服务器),至于你文档操作的程序这个得自行搞定了。

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8">

<title>无标题文档</title>

<script src="jquery-1.9.1.min.js"></script>

</head>

<body>

<div id="btn">用力点</div>

<script>

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

$.ajax({

type: "POST",

url: "dom.php", //提价处理的PHP,你也可以是其他处理程序

data: "keyword=HelloWorld", //提交的数据

success: function(msg){

alert( "Data Saved: " + msg )//返回信息 msg 是dom.php renturn 的返回值

}

})

})

</script>

</body>

</html>

js不能读取本地文件,但是可以读取你用别的方式传到页面上的,比如后台或者input标签

后台的我就不说了。通过标签的

var e = document.getElementById('Fileid')//上传文件的id

var ty = e.value//这个就是文件了你可以获取大小,文件名,还可以读取

var reader = new FileReader()

reader.readAsDataURL(file)//这是把它读取成为页面类型的,还有其他类型,你自己需要的可

//readAsBinaryStringfile将文件读取为二进制编码

//readAsTextfile,[encoding]将文件读取为文本

//readAsDataURLfile将文件读取为DataURL

//abort(none)终端读取操作

无法获取本地文件的绝对路径,这里涉及到一个浏览器安全问题。

<input type="file" onchang="javascript:changeFile()" />

// 选择文件

function changeFile () {

    var e = this

    // 修正IE8下,文件上传异常

    var files = e.files

    if (files == undefined) {

        return false

    }

    // 取得选择文件相关数据信息

    var file = files[0], fileName = file.name, fileSize = file.size

    // 获取文件后缀名

    var fileType = fileName.substr(fileName.lastIndexOf(".")).toLowerCase()

}