做项目时,要用到图片上传,可是框架内没有封装任何文件上传控件,只能用 input file ,可是却不能回显,只能去网上查找,结果都是一些jquery插件。插件都很大,而且样式都封装了,和项目框架不搭,就想知道js有没有可以直接会显得方法,结果还真找到了。仅仅一个HTML就可以支持图片上传回显,而且样式可以自己修改,只是比较简洁,不过够用了。
[html]
view plain
-
<!DOCTYPE html
>
-
<
html
>
-
<
head
>
-
<
meta
charset
=
"UTF-8"
>
-
<
title
>
文件不上传预览
</
title
>
-
</
head
>
-
<
body
>
-
<
input
id
=
"load"
type
=
"file"
onchange
=
"upload(this.files)"
multiple
/>
-
<
div
id
=
"huixian"
>
</
div
>
-
<
script
type
=
"text/javascript"
>
-
function getobj(obj) {
-
return document.getElementById(obj);
-
}
-
function upload(f){
-
-
var
str
=
""
;
-
for(var
i
=
0
;i
<
f.length
;i++){
-
var
reader
=
new
FileReader();
-
reader.readAsDataURL(f[i]);
-
reader.onload
=
function
(e){
-
str+='
<
img
src
=
"'+e.target.result+'"
/>
';
-
getobj("huixian")
.innerHTML
=
str
;
-
}
-
}
-
-
}
-
</
script
>
-
</
body
>
-
</
html
>
-
-
-
-
<script type="text/javascript">
function changeImg(){
var oFReader = new FileReader();
var file = document.getElementById('input').files[0];
oFReader.readAsDataURL(file);
oFReader.onloadend = function(oFRevent){
var src = oFRevent.target.result;
document.getElementById("uploadFile1").src=src
}
var oFReader = new FileReader();
var file = document.getElementById('input').files[1];
oFReader.readAsDataURL(file);
oFReader.onloadend = function(oFRevent){
var src = oFRevent.target.result;
document.getElementById("uploadFile2").src=src
}
var oFReader = new FileReader();
var file = document.getElementById('input').files[2];
oFReader.readAsDataURL(file);
oFReader.onloadend = function(oFRevent){
var src = oFRevent.target.result;
document.getElementById("uploadFile3").src=src
}
}
</script>
做项目时,要用到图片上传,可是框架内没有封装任何文件上传控件,只能用 input file ,可是却不能回显,只能去网上查找,结果都是一些jquery插件。插件都很大,而且样式都封装了,和项目框架不搭,就想知道js有没有可以直接会显得方法,结果还真找到了。仅仅一个HTML就可以支持图片上传回显,而且样式可以自己修改,只是比较简洁,不过够用了。[html] view plain copy &lt;!...
1:
FileReader
: 读取
文件
内容
readAsText() 读取文本
文件
,(可以使用Txt打开的
文件
)
readAsBinaryString(): 读取任意类型的
文件
,返回二进制字符串
readAsDataURL: 方法可以将读取到的
文件
编码成DataURL ,可以将资料(例如
图片
)内嵌在网页之中,不用放到外部
文件
abort: 中断读取
2:
FileReader
提供一个完整的事件模型,用来捕获读取
文件
的状态
onabort:读取
文件
断片时触发
onerror:读取
文件
错误时触发
onload
:
$args_ObjFileList = new Array();
function btn_addMultipleDocument($obj_UL, $obj_ConfirmBtn){
$obj_File=$('<input />',{
type:"file",
name:"multipleFilesUpload",
style:"",
multiple:"multiple",
change:function(){
dataWait();
今天
页面
需要读取多个
文件
,用的
FileReader
同时读取多个
文件
。
用到这个
FileReader
大家都知道他是需要等待
onload
的回调的。
const reader = new
FileReader
();
reader.readAsArrayBuffer(dataFileList[key].file);
reader.
onload
= (e)=>{
//读取
文件
操作
那我这js苦手就开始
一、调用
FileReader
对象的方法
方法名 参数 描述abort none 中断读取readAsBinaryString file 将
文件
读取为二进制码readAsDataURL file 将
文件
读取为 DataURLreadAsText file, [encoding] 将
文件
读取为文本
readAsText:该方法有两个参数,其中第二个参数是文本的编码方式,默认值为 UTF-...
function getObjectURL(file) {
var url = null;
if(window.createObjectURL != undefined) { // basic
url = window.createObjectURL(file);
} else if(window.UR...
public class StreamTest01 {
public static void main(String[] args) {
FileReader
fileReader
= null;
try {
//实例化File对象,指明要操作的
文件
File file = new File("hello.txt");
//获取
文件
绝对路径
System.out.print
该方法的用途:用于在加载完成后执行相应的代码,相当于一个缓冲时间。
遇到问题的情况;调用readAs...之类的函数时,调用语句在load的前面。
出现问题的原因:读完数据后没有绑定上回调函数。
解决方法:把读数据的函数readAsBinaryString()之类的函数,放在回调函数的后面。
修改前的代码如下:
reader.readAsDataURL(image);
reader.
onload
= function(){
let bi = this.result;
demo.src
function preview(target){
var length=0;
var imgContent=document.getElementById('imgContent');
//imgContent为
图片
展示的区域
var reader=new
FileReader
();
reader.readAsDataURL(target.files[leng...
1,在
文件
服务器上,创建一个本地帐户,比如登录名:upload,密码:upload,注意在创建的时候选择“密码永不过期”,去掉勾选“用户下次登录时须更改密码”的选项;
2,在要共享的
文件
夹上点右键,选择“属性”-“安全”,增加upload帐户可以写入的权限;
3,在要共享的
文件
夹上点右键,选择“共享”,共享此
文件
夹,并在“权限”按钮点击后添加帐户upload可修改;
4.需要在应用程序服务器
```javascript
let fileInput = document.getElementById('fileInput');
let contentDiv = document.getElementById('fileContent');
fileInput.addEventListener('change', (event) => {
let file = event.target.files[0];
let reader = new
FileReader
();
reader.readAsText(file);
reader.
onload
= (event) => {
contentDiv.textContent = event.target.result;
上面的代码中,我们首先获取到一个 `<input type="file">` 元素和一个显示
文件
内容的 `<div>` 元素。然后给 `<input>` 元素添加了一个 `change` 事件监听器,当用户选择了
文件
后就会触发这个事件。在事件处理函数中,我们获取到用户选择的
文件
,创建一个
FileReader
对象,并调用 `readAsText()` 方法读取
文件
内容。当读取完成时,会触发 `
onload
` 事件,我们可以在这个事件处理函数中获取到
文件
内容,并将其显示在
页面
上。
### 回答2:
FileReader
是 JavaScript 中的一个对象,用于从
文件
中读取数据。
使用
FileReader
可以读取多种类型的
文件
,例如文本
文件
、图像
文件
、音频
文件
等。
读取
文件
的过程是异步的,即读取
文件
的同时可以进行其他的操作。
使用
FileReader
的基本步骤如下:
1. 创建
FileReader
对象:
```javascript
var reader = new
FileReader
();
2. 绑定事件处理程序(可选):
```javascript
reader.
onload
= function(event) {
// 读取完成后的处理逻辑
3. 读取
文件
内容:
```javascript
reader.readAsText(file);
这里的 `file` 是一个
文件
对象,可以通过 `<input type="file">` 元素的 `files` 属性或 `FileList` 对象获取。
4. 读取完成后的处理逻辑(如果绑定了事件处理程序):
```javascript
function(event) {
var content = event.target.result;
// 处理
文件
内容
在此事件处理程序中,我们可以通过 `event.target.result` 获取到读取的
文件
内容。
需要注意的是,使用
FileReader
读取
文件
时存在一些限制。首先,由于安全原因,不允许直接读取用户计算机上的
文件
。在浏览器中,只能通过用户主动选择
文件
并上传触发读取操作。此外,浏览器对于不同类型的
文件
可能有限制,例如不允许读取某些特定类型的
文件
。
总之,
FileReader
是一个用于读取
文件
内容的 JavaScript 对象,在前端开发中可以用于实现
文件上传
、预览和编辑等功能。