当前位置:首页 » 文件管理 » js上传图片二进制

js上传图片二进制

发布时间: 2023-02-23 10:46:31

‘壹’ js post 图片二进制内容

貌似JS没办法存储二进制数据
你这行var Contents=http.responseBody;就有问题

你完全可以只传送图片的URL 然后PHP程序获取到URL 就可以获取实际图片去解析了
(没注意你使用了ACTIVEX控件。。)

‘贰’ js 怎么实现image的二进制流

别用readAsBinaryString啊,既然都拿到File对象了,直接构造FormData就能POST了。如果你需要在客户端先把二进制流处理一遍(我赌五毛你99%不需要),用ArrayBuffer来处理二进制,完了再倒腾成Blob,再倒腾成FormData。不过具体情况还是得看那个API要啥,但我自己用FormData做的文件上传还是很轻松实现的,XHR2还能实现进度条简直好顶赞口牙。

‘叁’ 如何用javascript实现图片与二进制的转换

js是做不了文件和二进制的互相转换的,而且按照你的要求是存取数据库,js做不到的。
用别的方式(Java或者C#等等)去连接数据库,把图片文件作为blob对象(二进制大对象)类型存入数据库

------------------------------------------------------
js不能把图片文件以二进制表示

‘肆’ 如何用javascript或jquery实现图片与二进制的转换

  • js是做不了文件和二进制的互相转换的,而且按照你的要求是存取数据库,js做不到的。

  • 用别的方式(Java或者C#等等)去连接数据库,把图片文件作为blob对象(二进制大对象)类型存入数据库。

‘伍’ js input file文件上传图片并展示

​​​​​​

    1 页面HTML内容

    2 获取input[file]元素    

    3 对获取的file元素操作,也就是操作fileReader属性    

1:Blob

2:  File

3:  FileList

4:  FileReader

FileList :

这里,默认状态下选择文件 每次files属性上FileList对象里只有一个file文件。

file对象中包含了name 文件名; size ; type 文件类型; lastModified 最后修改时间;

FileReader:异步读取本地文件内容;包括File 和Blob ;

    创建FileReader对象;读取file文件

关于fileReader的几个属性:

FileReader.error 只读一个 DOMException 代表在读取文件中出现的错误。 FileReader.readyState 只读一个数字表明的状态FileReader。这是以下之一:

FileReader.result 只读文件的内容。该属性仅在读取操作完成后才有效,并且数据的格式取决于使用哪种方法来启动读取操作。

fileReader的几个事件处理程序:

1 . FileReader.onbort:在读取操作中止时触发。

2 . FileReader.onerror:在读取操作遇到错误时触发。

3 . FileReader.onload:在读取操作成功完成时触发。

4 . FileReader.onloadstart:在开始阅读时触发。

5 . FileReader.onloadend:无论是否成功 只要读取操作完成都会触发。

6 . FileReader.onprogress:阅读Blob内容时触发。

FileReader的方法:

1 . FileReader.abort();中止读取操作

2 . FileReader.readAsArrayBuffer();完成时result属性包含ArrayBuffer表示文件数据

3 . FileReader.readAsBinaryString();完成时result属性将包含来自文件的原始二进制数据作为字符串。

4 . FileReader.readAsDataURL();完成时result属性包含data:表示文本数据的URL;

5 . FileReader.readAsText();完成时result属性包含文本的内容作为文本字符串。

‘陆’ js 怎么实现image的二进制流

把图片转为二进制流是后台代码实现的,JavaScript实现不了。后台把图片二进制流可以直接赋值给页面的image标签的src属性,img就可以把图片显示在html上。

‘柒’ javascript 处理回传的二进制图像并显示在html上

1. 发起请求页面 //ImageClient.jsp

<%@ page language="java" pageEncoding="ISO-8859-1"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>

<HEAD>

<TITLE>ImageRequest</TITLE>

</HEAD>

<BODY>

<img src="http://127.0.0.1:8080/ImageServer.jsp"/>

</BODY>

</HTML>

2. 接受请求并返回结果页 //ImageServer.jsp

<%@ page language="java" pageEncoding="ISO-8859-1"%>

<%@ page import="java.io.*"%>

<%

System.out.print("enter...");

String filePath = "C:/Program Files/Tomcat/Tomcat-7.0.4/webapps/ROOT/ericsson.gif";

File file = new File(filePath);

InputStream fis;

try {

fis = new FileInputStream(file);

byte[] buf=new byte[(int)fis.available()];

fis.read(buf);

response.setContentType("application/binary;charset=ISO8859_1");

OutputStream outs = response.getOutputStream();

outs.write(buf);

outs.flush();

out.clear();

out = pageContext.pushBody();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

%>

3. 测试结果

‘捌’ js如何将图片转换为二进制流

方法如下。

‘玖’ js 进行参数传递 但是参数中包含文字和图片 怎么把图片转成base64或者二进制呢

有一个问题需要弄清楚,才能更准确地回答你的这个问题:


你的图片最后是用来做什么的呢?


这个图片是用来上传?还是用来在浏览器上显示?


如果是用来上传,要知道base64的图片太大之后,格式很容易出错,不建议这么做,而这么做的人怕是也不好找。


如果是在浏览器上显示,你只要传这个图片的URL就可以了,URL本身就是一个字符串,然后使用JS将图片显示到页面上去,这个方法有许多种。


另外,如果你是想要将一个图片转成base64,需要这个工具的话,这里有一个,不过只不过是工具,不能传入到JS里自动转换的。

‘拾’ js怎么实现图像的二进制流

看了 SDK 源码,发送二进制图片的核心代码如下:

if hasBlob
form = new FormData
form.append k, data[k] for k of data
xhr.send form

就是往 FormData 里面塞 Blob 对象,然后使用 XHR 发送出去。
File 对象继承自 Blob 对象,所以直接把 File 塞进去就可以:

var file = input.files[0]
api.request('detection/detect', {
img: file
}, function(err, result) {
})

其实就是使用 xhr 构造了一个异步上传的表单而已。

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:710
制作脚本网站 发布:2025-10-20 08:17:34 浏览:972
python中的init方法 发布:2025-10-20 08:17:33 浏览:683
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:836
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:741
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1081
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:313
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:193
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:880
python股票数据获取 发布:2025-10-20 07:39:44 浏览:839