Ich möchte Upload-Dateigröße während des Web-Service zeigen. Also habe ich die folgenden zwei Links HttpClient Post with progress and MultipartEntityBuilder, gradle-hockeyapp-plugin wo ich die ProgressHttpEntityWrapper.java
Klasse gefunden. Mit dieser Klasse habe ich die Upload-Dateigröße gefunden. Mit der folgenden MethodeTatsächliche Dateigröße und Upload-Dateigröße wird anders android
public String getFileSize(long size) {
if (size <= 0)
return "0";
final String[] units = new String[] { mContext.getResources().getString(R.string.bytes), mContext.getResources().getString(R.string.kilo_bytes), mContext.getResources().getString(R.string.mega_bytes), mContext.getResources().getString(R.string.giga_bytes), mContext.getResources().getString(R.string.tera_bytes) };
int digitGroups = (int) (Math.log10(size)/Math.log10(1024));
return new DecimalFormat("#,##0.#").format(size/Math.pow(1024, digitGroups)) + " " + units[digitGroups];
}
aber es gibt falsche Dateigröße vergleichen als die ursprüngliche Dateigröße. Die tatsächliche und die Gesamtgröße der hochgeladenen Dateien variieren.
Zum Beispiel meine tatsächliche Dateigröße 297,1 KB, aber es zeigt die gesamte Dateigröße ist 365,5 KB. Warum die tatsächliche Dateigröße und die gesamte Dateigröße variiert Können Sie mir bitte eine Idee vorschlagen?
Sie meinen, die Zeichenfolge, die Ihre Funktion zurückgibt, stimmt nicht mit der Länge überein, die Sie bestanden haben? – wutzebaer
@wutzebaer Nein, bitte überprüfen Sie den zweiten Link, wo Sie die ProgressHttpEntityWrapper-Klasse finden. In dieser Klasse werden die gesamten Bytes innerhalb der Methode getCurrentProgress() zurückgegeben. Es ist nicht korrekt. Es variiert von der tatsächlichen Dateigröße. – Sangeetha
vielleicht Offset + len ist größer tan b.length und damit nur ein Teil von len geschrieben wird? # – wutzebaer