上传文件
HTML5新增了文件API,提供客户端本地操作文件的可能.
我们可以通过file表单或拖放操作选择文件,还可以通过JavaScript读取文件的名称、大小、类型、和修改时间.
file类型的input表单新增了files属性,保存我们上传文件的信息,如果要实现多文件上传,可以设置input的multiple属性.
可以使用accept属性规定文件上传的MIME类型 例如’image/jpeg’
<form action="#"> <div class="form-group"> <label for="input_1">请选择文件</label> <input id="input_1" class="form-control" name="input_1" type="file"> </div> <div class="form-group"> <button id="btn_1" class="btn btn-default" type="button">读取文件信息</button> </div> </form> <pre id="result"></pre> </div> <script> var btn = document.querySelector('#btn_1'); var input = document.querySelector('#input_1'); btn.addEventListener('click', function() { // 获取文件域中选择的文件 // var file = input.files[0]; var file = input.files.item(0); if (file) { result.innerHTML = '文件名:' + file.name + '\n文件最近修改时间:' + file.lastModifiedDate+ '\n文件类型:' + file.type + '\n文件大小:' + file.size + '字节' } else { result.innerHTML = '没有选择任何文件'; } }); </script>
页面拖拽操作
对于被拖拽的元素,HTML5增加了三个事件用于监听拖拽的过程
- dragstart 拖拽开始
- drag 正在拖拽
- dragend 拖拽结束
<body> <div id="one" style="width: 300px;height: 300px;border: 1px solid red"></div> <div id="two" style="width: 100px;height: 100px;border: 1px solid blue" draggable="true"></div> </body> <script type="text/javascript"> two.ondragstart = function(e){ // e.preventDefault(); console.log(e); e.dataTransfer.setData("Text",e.target.id); console.log(e.dataTransfer.getData("Text",e.target.id)); one.innerHTML = '开始' } two.ondrag = function(e){ one.innerHTML += '拖动中' } two.ondragend = function(e){ one.innerHTML = '结束' } </script>
暂无评论内容