Android - 我想向用户显示文件上传进度

fhu*_*cho 25 android

我通过Android SDK中的默认HttpClient将照片上传到服务器.我想在用户界面中显示进度,有没有办法找出上传了多少?是否可以使用HttpUrlConnection?

Ben*_*oot 14

对我来说,HTTPClient不起作用.缓冲部分中缓冲的字节,并在刷新调用后作为总计发送.什么工作是在套接字级别发送它.

您可以使用HttpMultipartClient(2011年10月30日更新的链接):http: //code.google.com/p/rainbowlibs/source/browse/android/trunk/rainbowlibs/src/it/rainbowbreeze/libs/数据/ HttpMultipartClient.java?规格= svn94&R = 94

指定每个部件的字节数并更新while循环中的进度条:

while((line = reader.readLine())!= null &&!headersEnd)

按照以下方式调用HttpMultipartClient:

HttpMultipartClient httpMultipartClient = new HttpMultipartClient("bluppr.com", "/api/order/create", 80);

FileInputStream fis = new FileInputStream(path + fileName);
httpMultipartClient.addFile(fileName, fis, fis.available());
httpMultipartClient.setRequestMethod("POST");
httpMultipartClient.send();
Run Code Online (Sandbox Code Playgroud)

在服务器端使用:

<?php

$target_path = "uploads/";

$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
    echo "The file ".  basename( $_FILES['uploadedfile']['name'])." has been uploaded " .$_POST["order"]. " post";
} else{
    echo "There was an error uploading the file, please try again!";
}

?>
Run Code Online (Sandbox Code Playgroud)

我用它来制作Bluppr明信片,就像一个魅力.如果您需要更多信息,请告诉我们.