當前位置:首頁 » 文件管理 » 帶進度條上傳圖片

帶進度條上傳圖片

發布時間: 2022-07-11 20:28:48

『壹』 如何實現在Android文件上傳進度條

實現在android實現帶進度條的上傳效果效果如圖: 用到以下兩個類就可實現帶進度條的文件上傳: 1、CustomMultiPartEntity extends MultipartEntity, 2、HttpMultipartPost extends AsyncTask 代碼如下: import java/UploadImage.php"); try{ = newCustomMultipartEntity( newProgressListener() { @Override public void transferred(longnum){ publishProgress((int) ((num / (float) totalSize) * 100)); } }); // We use FileBody to transfer an image multipartContent.addPart("uploaded_file", newFileBody( newFile(m_userSelectedImagePath))); totalSize= multipartContent.getContentLength(); // Send it httpPost.setEntity(multipartContent); HttpResponseresponse = httpClient.execute(httpPost, httpContext); String serverResponse = EntityUtils.toString(response.getEntity()); ResponseFactoryrp = newResponseFactory(serverResponse); return(TypeImage) rp.getData(); } catch(Exception e) { System.out.println(e); } returnnull; } @Override protectedvoidonProgressUpdate(Integer... progress){ pd.setProgress((int) (progress[0])); } @Override protectedvoidonPostExecute(TypeUploadImageui) { pd.dismiss(); } } 在 transferred()函數中調用publishProgress((int) ((num / (float) totalSize) * 100)); 在onProgressUpdate()實現上傳進度的更新操作

『貳』 抖音發圖片下面帶進度條的怎麼弄

摘要 首先我們打開抖音,打開有進度條的視頻,點擊下方的白色進度條線,進行拉動即可調整進度。抖音讓每一個人看見並連接更大的世界,鼓勵表達、溝通和記錄,激發創造,豐富人們的精神世界。

『叄』 誰懂如何寫html5帶有進度條的圖片上傳的代碼嗎

可以自己用div畫一個啊,父子div,父div寬度固定,子div隨著進度寬度動態改變。子div設置背景顏色
--itjob

『肆』 asp 如何實現帶進度條的上傳文件功能

以下就以abcupload4為例來說明怎麼來製作實時的文件上傳進度條。

(註:我們在abcupload自帶例子基礎上改進。)

progressupload.htm(上傳文件的前台提交,我們讓進度條在這個裡面顯示)

<HTML>

<body>

<script language="javascript">

<!--

theUniqueID = (new Date()).getTime() % 1000000000;

function s() //讓數據提交的同時執行顯示進度條的函數

{

bar(); //開始執行反映上傳情況的函數

document.myform.action = "progressupload.ASP?ID=" theUniqueID; //處理上傳數據的程序

document.myform.target="up" //將提交的數據放在一個名字是up隱藏的iframe裡面處理,這樣提交的頁面就不會跳轉到處理數據的頁

document.myform.submit(); //提交表單

}

function bar()

{

bar1.style.display=''; //讓顯示上傳進度顯示的層的可見

var timeoutid=null; //這個變數是作定時器的ID

var oXMLDoc = new ActiveXObject('MSXML'); //創建'MSXML'對象

sURL = "progressbar.ASP?ID=" theUniqueID "&temp=" Math.random(); //獲取上傳狀態數據的地址

oXMLDoc.url = sURL; //load數據

var oRoot=oXMLDoc.root; //獲取返回XML數據的根節點

if(oRoot.children != null)

{

if (oRoot.children.item(0).text-100==0) //文件上傳結束就取消定時器

clearTimeout(timeoutid)

PercentDone.style.width=oRoot.children.item(0).text "%"; //設置進度條的百分比例

//根據返回的數據在客戶端顯示

min.innerHTML=oRoot.children.item(1).text; //顯示剩餘時間(分鍾)

secs.innerHTML=oRoot.children.item(2).text; //顯示剩餘時間(秒鍾)

BytesDone.innerHTML=oRoot.children.item(3).text; //已上傳數據大小

BytesTotal.innerHTML=oRoot.children.item(4).text; //總大小

BytesPerSecond.innerHTML=oRoot.children.item(5).text; //傳輸速率

Information.innerHTML=oRoot.children.item(6).text; //上傳信息

}

if (oRoot.children.item(0).text-100<0) //只要文件沒有傳完,就每隔多少時間獲取一次數據

timeoutid = setTimeout("bar()",50) //這里設定時間間隔是0.05秒,你也可以根據你的情況修改獲取數據時間間隔

}

//-->

</script>

<form name="myform" method="post" action="progressupload.ASP" enctype="multipart/form-data" target=up>

<input type="file" name="filefield1"><br>

<input type="button" name="dosubmit" value="Upload" onclick="s()"><br>

<div id=bar1 style="display:none">

<table border="0" width="100%">

<tr>

<td><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>傳送:</b></font></td>

</tr>

<tr bgcolor="#999999">

<td>

<table border="0" width="" cellspacing="1" bgcolor="#0033FF" id=PercentDone>

<tr>

<td><font size=1></font></td>

</tr>

</table>

</td>

</tr>

<tr>

<td>

<table border="0" width="100%">

<tr>

<td><font face="Verdana, Arial, Helvetica, sans-serif" size="1">剩餘時間:</font></td>

<td><font face="Verdana, Arial, Helvetica, sans-serif" size="1">

<span id=min></span> 分

<span id=secs></span> 秒

(<span id=BytesDone></span> KB of

<span id=BytesTotal></span> KB 已上傳)</font></td>

</tr>

<tr>

<td><font face="Verdana, Arial, Helvetica, sans-serif" size="1">

傳送速度:</font></td>

<td><font face="Verdana, Arial, Helvetica, sans-serif" size="1">

<span id=BytesPerSecond></span> KB/秒</font></td>

</tr>

<tr>

<td><font face="Verdana, Arial, Helvetica, sans-serif" size="1">信息:</font></td>

<td><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><span id=Information></span></font></td>

</tr>

</table>

</td>

</tr>

<tr></tr>

</table>

</div>

<iframe name="up" style="display:none"></iframe>

</form>

</body>

</HTML>

progressbar.ASP(返回上傳狀況數據的文件)

<%@EnableSessionState=False%>

<%

On Error Resume Next

Set theProgress = Server.CreateObject("ABCUpload4.XProgress") '創建上傳組件對象

theProgress.ID = Request.QueryString("ID")

'將返回數據以XML格式輸出

%>

<?XML version="1.0" encoding="gb2312" ?>

<plan>

<PercentDone><%=theProgress.PercentDone%></PercentDone>

<min><%=Int(theProgress.SecondsLeft/60)%></min>

<secs><%=theProgress.SecondsLeft Mod 60%></secs>

<BytesDone><%=Round(theProgress.BytesDone / 1024, 1)%></BytesDone>

<BytesTotal><%=Round(theProgress.BytesTotal / 1024, 1)%></BytesTotal>

<BytesPerSecond><%=Round(theProgress.BytesPerSecond/1024, 1)%></BytesPerSecond>

<Information><%=theProgress.Note%></Information>

</plan>

progressupload.ASP(處理上傳文件)

<%@EnableSessionState=False%>

<%

Response.Expires = -10000

Server.ScriptTimeOut = 300

Set theForm = Server.CreateObject("ABCUpload4.XForm")

theForm.Overwrite = True

theForm.MaxUploadSize = 8000000

theForm.ID = Request.QueryString("ID")

Set theField = theForm("filefield1")(1)

If theField.FileExists Then

theField.Save theField.FileName

End If

%>

<HTML>

<body>

傳送結束

</body>

</HTML>

『伍』 百度貼吧上傳圖片進度條老是卡在中間,很慢!

你好,這個很可能是網路原因,建議您關閉網頁重新上傳。或者使用其他瀏覽器試試。

『陸』 如何實現上傳文件帶進度條

我給你提供思路,自己去實現。 1、你用的是SSH框架,spring有一個MultipartFile技術,支持單文件和多文件上傳 2、下載直接用BufferedInputStream+BufferedOutputStream去實現就可以了。

『柒』 java帶參帶進度條(真實)上傳文件代碼

思路如下:


public class MyClass extends Thread {

public JProgressBar bar = new JProgressBar();//進度條
public OutputStream os;// 通向伺服器的流
public InputStream is;// 你的文件流
public long len;// 你文件的總長度

public void run() {

byte[] buff = new byte[1024];
long passedlen = 0;
try {
int mark = 0;
while (true) {
mark = is.read(buff, 0, 1024);
os.write(buff, 0, mark);
// 更新進度
passedlen += mark;
int prog = (int) ((double) passedlen / (len == 0 ? 1 : len) * 100);
// 改變進度條的value值
bar.setValue(prog);
// 結束判定
if (passedlen == len) {
break;
}
}
os.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}


『捌』 asp.net 用fileupload控制項實現多圖片上傳帶進度條

這個你要用ajax來實現最好,或者是updataplan空間來實現也可以

『玖』 怎樣實現在android實現帶進度條的上傳效果

實現在android實現帶進度條的上傳效果效果如圖:


用到以下兩個類就可實現帶進度條的文件上傳:


1、CustomMultiPartEntity extends MultipartEntity,


2、HttpMultipartPost extends AsyncTask


代碼如下:


import java.io.FilterOutputStream;


import java.io.IOException;


import java.io.OutputStream;


import java.nio.charset.Charset;


import org.apache.http.entity.mime.HttpMultipartMode;


import org.apache.http.entity.mime.MultipartEntity;



public class CustomMultipartEntity extends MultipartEntity {


private final ProgressListener listener;


public CustomMultipartEntity(final ProgressListener listener) {


super();


this.listener = listener;


}


public CustomMultipartEntity(final HttpMultipartMode mode, final ProgressListener listener) {


super(mode);


this.listener = listener;


}


public CustomMultipartEntity(HttpMultipartMode mode, final String boundary,


final Charset charset, final ProgressListener listener) {


super(mode, boundary, charset);


this.listener = listener;


}


@Override


public void writeTo(final OutputStream outstream) throws IOException {


super.writeTo(new CountingOutputStream(outstream, this.listener));


}


public static interface ProgressListener {


void transferred(long num);


}



public static class CountingOutputStream extends FilterOutputStream {


private final ProgressListener listener;


private long transferred;


public CountingOutputStream(final OutputStream out, final ProgressListener listener) {


super(out);


this.listener = listener;


this.transferred = 0;


}


public void write(byte[] b, int off, int len) throws IOException {


out.write(b, off, len);


this.transferred += len;


this.listener.transferred(this.transferred);


}


public void write(int b) throws IOException {


out.write(b);


this.transferred++;


this.listener.transferred(this.transferred);


}


}


}


該類計算寫入的位元組數,我們需要在實現ProgressListener中的trasnfered()方法,更行進度條



public class HttpMultipartPost extends AsyncTask<HttpResponse, Integer, TypeUploadImage> {



ProgressDialogpd;



longtotalSize;



@Override


protectedvoidonPreExecute(){


pd= newProgressDialog(this);


pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);


pd.setMessage("Uploading Picture...");


pd.setCancelable(false);


pd.show();


}



@Override


(HttpResponse... arg0) {


HttpClienthttpClient = newDefaultHttpClient();


HttpContexthttpContext = newBasicHttpContext();


HttpPosthttpPost = newHttpPost("http://herpderp.com/UploadImage.php");



try{


= newCustomMultipartEntity(


newProgressListener() {



@Override


public void transferred(longnum){


publishProgress((int) ((num / (float) totalSize) * 100));


}


});



// We use FileBody to transfer an image


multipartContent.addPart("uploaded_file", newFileBody(


newFile(m_userSelectedImagePath)));


totalSize= multipartContent.getContentLength();



// Send it


httpPost.setEntity(multipartContent);


HttpResponseresponse = httpClient.execute(httpPost, httpContext);


String serverResponse = EntityUtils.toString(response.getEntity());



ResponseFactoryrp = newResponseFactory(serverResponse);


return(TypeImage) rp.getData();


}



catch(Exception e) {


System.out.println(e);


}


returnnull;


}



@Override


protectedvoidonProgressUpdate(Integer... progress){


pd.setProgress((int) (progress[0]));


}



@Override


protectedvoidonPostExecute(TypeUploadImageui) {


pd.dismiss();


}


}

在 transferred()函數中調用publishProgress((int) ((num / (float) totalSize) * 100));


在onProgressUpdate()實現上傳進度的更新操作

『拾』 尋一個帶進度條的上傳程序

基於AJAX的WEB上傳程序,JSP環境,一次可上傳多個文件,帶進度條控制,單個文件最大可上傳100M文件。

熱點內容
福建電信伺服器ip地址 發布:2025-01-19 23:07:24 瀏覽:647
伺服器怎麼製作公告欄 發布:2025-01-19 23:06:23 瀏覽:873
英雄聯盟皮膚源碼 發布:2025-01-19 22:56:14 瀏覽:94
三星手機忘記解鎖密碼怎麼辦 發布:2025-01-19 22:45:43 瀏覽:291
Java為什麼沒有預編譯命令 發布:2025-01-19 22:44:14 瀏覽:303
路由器上寫的初始無密碼什麼意思 發布:2025-01-19 22:42:38 瀏覽:847
mysql配置主從資料庫 發布:2025-01-19 22:35:33 瀏覽:730
4大資料庫 發布:2025-01-19 22:34:35 瀏覽:975
win10用什麼解壓 發布:2025-01-19 22:27:15 瀏覽:799
反編譯連接資料庫 發布:2025-01-19 22:07:55 瀏覽:787