當前位置:首頁 » 文件管理 » html5android上傳圖片

html5android上傳圖片

發布時間: 2022-11-03 20:26:27

❶ 移動開發中,遇到了安卓不能支持HTML5文件上傳的問題,怎麼解決

  • PC端上傳文件多半用插件,引入flash都沒關系,但是移動端要是還用各種冗餘的插件估計得被噴死,項目裡面需要做圖片上傳的功能,既然H5已經有相關的介面且兼容性良好,當然優先考慮用H5來實現。

  • 用的技術主要是:

  1. ajax;

  2. FileReader;

  3. FormData;

  • HTML結構:

❷ 把HTML5的手機網站嵌入安卓APP中,發現<input type='file' />的上傳按鈕功能失效,點擊沒有任何反應

安卓APP的WebView默認屏蔽了該控制項的使用,有些安卓APP之所以能支持文件選擇和上傳,主要可能是有可能採取了如下措施之一:

(1)可能在該APP中重寫了相關方法(http://stackoverflow.com/questions/5907369/file-upload-in-webview)

(2)提供了JS Bridge來供web頁面調用

所以,單從前端技術上是解決不了這個問題的。

這個問題之所以不太好排查,一方面跟手機端的圖片上傳功能我不太常用到有很大關系,另一方面也因為見到一些其它的APP容器能支持該功能,所以思維在習慣上已經形成定勢,誤以為這是WebView默認就支持的。

末了,順便提醒一句,下次進行類似功能的需求評審,別忘了先了解下相應的APP容器是否支持該功能,如果沒有,則需要找到相應的客戶端開發同學評估一下工時,以免造成影響項目進度的風險








❸ 如何將html5程序打包成Android應用

將html5程序打包成Android應用的方法是採用在線appcan實現的。

1、圖標設置

可以使用AppCan提供的默認圖標,也可以通過從本地上傳圖標設置自己應用的圖標。

❹ 怎麼用html5或js調用手機的攝像頭拍照上傳以及調用手機相冊選取照片

1、實現頭的方法代碼。

注意事項:

javaScript是一種網路腳本語言,在web應用開發中得到了廣泛的應用,它經常被用來為網頁添加各種動態功能,為用戶提供更加流暢美觀的瀏覽效果,通常JavaScript腳本被嵌入到HTML中來實現自己的功能。

❺ html5中圖片的插入的步驟

網路搜索一下教程就有了,很簡單的。熟悉一下代碼。幾步就可以了。

❻ 把HTML5的手機網站嵌入安卓APP中,發現的上傳按鈕功能失效,點擊沒有任何反應怎麼辦

安卓APP的WebView默認屏蔽了該控制項的使用,有些安卓APP之所以能支持文件選擇和上傳,主要可能是有可能是以下幾種原因之一:

1、可能在該APP中重寫了相關方法。

2、提供了JS Bridge來供web頁面調用。

❼ 如何在手機瀏覽器中運用HTML5的文件API實現上傳多圖功能

Html5終於解決了上傳文件的同時顯示文件上傳進度的老問題。現在大部分的網站用Flash去實現這一功能,還有一些網站繼續採用Html <form>with enctype=multipart/form-data,但是需要修改伺服器端可用才能顯示給用戶文件上傳的進度。本質上你需要做的工作是在伺服器端接收一個文件時,你發送給它一個位元組流,所以你需要知道你已經接收到多少位元組並以某種方式傳達這些信息給客戶端瀏覽器,在這個過程一直在不斷的進行文件的上傳。這種方式運行的非常好,不像Flash上傳那這樣充滿了問題(特別是處理大文件上傳的時候),然而這種方法是相當復雜的並且聽起來不容易理解,因為你本質上是接管了整個伺服器端的處理(獲取位元組流的時候)同時包括了在伺服器端實現multipart/form-data協議,伴隨一系列的其他事情。
使用Html5 上傳文件
XMLHttpRequest 在Html5 規范中已經有全新的變化,規定了XMLHttpRequest Level 2規范(目前最新版本)包含下列新的特性:
處理位元組流,例如作為上傳或者下載的File,Blob,FormData對象
上傳或者下載中的進度事件
跨站點請求
允許創建匿名請求
可以設置請求超時
在這篇文章中我們將能夠更清楚的看到#1和#2兩個特性。通常,上傳文件用XMLHttpRequest並且提供上傳進度信息給最終的用戶,需要注意的是這種方式解決了不需要伺服器端做任何改變,至少是目前處理multipart/form-data協議。所以伺服器端的處理邏輯保留不變,這使得開發者適應這種技術相當容易。
圖1:文件上傳畫面-准備上傳 圖2:顯示上傳完成畫面
注意:上面的圖片中,信息提示區域是提供給用戶的:
當前選中文件的信息
文件名
文件大小
文件類型
上傳完成多少的百分比進度條
上傳速度或者上傳帶寬
距離上傳完成大概還有多長時間
已上傳文件大小
伺服器端的響應
上面第6項或許看起來不重要,但事實上是相當重要的。因為我們用XMLHttpRequest,上傳發生在後台,頁面沒有發生跳轉等任何變化,所以對於你用它處理其他一些事情來說是一個非常好的特性。
Html5 Progress Event
對於Html5 Progress Events規范,Html5 Progess Events提供了下列與本次討論相關的信息
total - 總的位元組數
loaded - 到目前為止上傳的位元組數
lengthComputable - 可計算的已上傳位元組
請注意到我們需要用兩個信息去計算要顯示給用戶的其他所有信息。要計算出來其他的信息通過上面我們得到信息是相當容易的,但是那需要一些額外的代碼並且創建一個定時器。
Html5 Progress Event 應該是什麼
考慮到有一部分人想更好的提供給用戶所有的信息,所以Html5 Progress Event應該更好的滿足需要,因為它給瀏覽器供應商提供這些額外信息是相當簡單的,所以建議progress event應該修改成如下:
total - 總的位元組數
loaded - 到目前為止上傳的位元組數
lengthComputable - 可計算的已上傳位元組
transferSpeed long類型
timeRemaining JavaScript 日期對象
Html5 上傳 用XMLHttpRequest
瀏覽器支持情況
支持這一特性的瀏覽器最低版本
Firefox 4.0 beta 6
Chrome 6
Safari 5.02
IE 9 Beta and Opera 10.62 不支持這一特性
簡單的示例
下面是一個完整的Html頁麵包含了實現文件上傳並帶有進度提示的JavaScript代碼,只是實現了基本的功能,感興趣的可以自己做擴展。 需要吧上傳介面修改成自己服務的。

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66

<!DOCTYPE html>
<html>
<head>
<title>Upload Files using XMLHttpRequest - Minimal</title>
<script type="text/javascript">
function fileSelected() {
var file = document.getElementById('fileToUpload').files[0];
if (file) {
var fileSize = 0;
if (file.size > 1024 * 1024)
fileSize = (Math.round(file.size * 100 / (1024 * 1024)) / 100).toString() + 'MB';
else
fileSize = (Math.round(file.size * 100 / 1024) / 100).toString() + 'KB';
document.getElementById('fileName').innerHTML = 'Name: ' + file.name;
document.getElementById('fileSize').innerHTML = 'Size: ' + fileSize;
document.getElementById('fileType').innerHTML = 'Type: ' + file.type;
}
}
function uploadFile() {
var fd = new FormData();
fd.append("fileToUpload", document.getElementById('fileToUpload').files[0]);
var xhr = new XMLHttpRequest();
xhr.upload.addEventListener("progress", uploadProgress, false);
xhr.addEventListener("load", uploadComplete, false);
xhr.addEventListener("error", uploadFailed, false);
xhr.addEventListener("abort", uploadCanceled, false);
xhr.open("POST", "upload.do");//修改成自己的介面
xhr.send(fd);
}
function uploadProgress(evt) {
if (evt.lengthComputable) {
var percentComplete = Math.round(evt.loaded * 100 / evt.total);
document.getElementById('progressNumber').innerHTML = percentComplete.toString() + '%';
}
else {
document.getElementById('progressNumber').innerHTML = 'unable to compute';
}
}
function uploadComplete(evt) {
/* 伺服器端返回響應時候觸發event事件*/
alert(evt.target.responseText);
}
function uploadFailed(evt) {
alert("There was an error attempting to upload the file.");
}
function uploadCanceled(evt) {
alert("The upload has been canceled by the user or the browser dropped the connection.");
}
</script>
</head>
<body>
<form id="form1" enctype="multipart/form-data" method="post" action="Upload.aspx">
<div class="row">
<label for="fileToUpload">Select a File to Upload</label><br />
<input type="file" name="fileToUpload" id="fileToUpload" onchange="fileSelected();"/>
</div>
<div id="fileName"></div>
<div id="fileSize"></div>
<div id="fileType"></div>
<div class="row">
<input type="button" onclick="uploadFile()" value="Upload" />
</div>
<div id="progressNumber"></div>
</form>
</body>
</html>

❽ 如何將html5程序打包成Android應用

問題分析:

html5網站主要由html+css+js的形式組成,需要使用瀏覽器進行展現。

Android需要使用Java語言來開發,對於前端工程師來說,無疑是增加了很大的難度。

隨後出現了很多打包工具,來協助我們將網頁元素打包成手機app,將我們編寫的html轉化為Java語言。

解決方案:

推薦一款我們常用的打包工具:HBuilder。

該工具不僅提供了Android應用打包,還可以直接連接手機進行調試,配合HTML5+可以實現很多Android原生的功能。比如:掃碼二維碼,拍照,搖一搖等等。

具體操作步驟:

1、真機調試

勾選Android復選框,如果使用Dcloud公用證書的話,可以直接進行打包,手機可以安裝使用。如果需要上傳發行到第三方應用平台的話,需要使用自有證書,自用證書可以使用JRE自帶的創建和管理數字證書的工具Keytool來生成自有證書,生成過程是免費的。

勾選Android選項後,在下方表單中填寫Android包名,為保證唯一性,可以使用自有網站域名的反寫方式加上應用名稱。如果使用自有證書的話,還需要填寫證書別名,密鑰密碼,證書文件。

填寫完畢後,點擊打包,即可生成apk文件。

其他注意事項:

1、在開發過程中,不需要進行打包,應更多的使用真機調試,可以節約很多時間。

2、開發完畢後,盡可能在各種版本的android機器上做一下測試,因為一些網頁的樣式在不同的android版本中呈現的效果略有不同。

3、重新編輯一下html5網站代碼,將一些網頁功能轉換為手機功能,比如網頁元素的<a>標簽跳轉,就應該使用Webview來完成。可以解決頁面切換白屏的問題,還可以提高網站在手機中的運行效率。

❾ HTML5上傳圖片,安卓手機調用相冊 提示錯誤,求教!

好像格式不正確

❿ html5 能實現在手機端上傳文件到伺服器嗎

可以實現
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>圖片上傳 - 博客園</title>
<link href="/css/fineuploader.css" rel="stylesheet">
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script src="/scripts/jquery.fineuploader-3.0.min.js"></script>
</head>
<body>
<div id="jquery-wrapped-fine-uploader"></div>
<script>
$(function () {
$('#jquery-wrapped-fine-uploader').fineUploader({
request: {
endpoint: '/ImageUploader/ProcessUpload'
}
});
});
</script>
</body>
</html>

熱點內容
存儲盤櫃 發布:2025-07-08 04:30:51 瀏覽:884
電腦我的世界伺服器地址怎麼輸 發布:2025-07-08 04:28:33 瀏覽:646
js裁剪上傳 發布:2025-07-08 04:27:51 瀏覽:507
怎麼復制密碼欄的密碼安卓 發布:2025-07-08 04:27:47 瀏覽:10
jquery上傳多張圖片 發布:2025-07-08 04:26:44 瀏覽:825
python是腳本語言主要用作 發布:2025-07-08 04:25:54 瀏覽:762
安卓怎麼傳視頻 發布:2025-07-08 04:03:26 瀏覽:914
oracle測試sql 發布:2025-07-08 03:16:54 瀏覽:974
php壁紙源碼 發布:2025-07-08 03:04:26 瀏覽:321
android應用層 發布:2025-07-08 02:42:32 瀏覽:301