js上傳圖片二進制
『壹』 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 構造了一個非同步上傳的表單而已。
