Aller au contenu

Renommer fichier lors du téléchargement


ineedmoney

Recommended Posts

Bonjour,

À travers webview, j'effectue des téléchargement depuis un serveur Web.

Les fichiers sont stockés sur le serveur avec un nom du type :

123~~456~~Variable1_-_Variable2.ext
123~~456~~Variable3_-_Variable4.ext
123~~456~~Variable5_-_Variable6.ext

À travers mon application, je souhaiterais que lors du téléchargement d'un fichier, le nom du fichier réceptionné soit changé dans ce sens :

Variable1_-_Variable2[mot_statique].ext

Je ne souhaite pas changer le nom du fichier sur mon serveur, mais bien que celui-ci soit différent une fois stocké localement.

Merci de votre aide...
 

 

Mon fichier d'activité :

package com.monsite

import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.DownloadManager;
import android.app.DownloadManager.Request;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.DownloadListener;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebSettings.PluginState;
import android.webkit.WebView;
import android.webkit.WebViewClient;

@SuppressLint("SetJavaScriptEnabled")
public class MainActivity extends Activity {

@[member=override]
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		setContentView(R.layout.activity_main);
		
		WebView myWebView = (WebView) findViewById(R.id.webview);
		myWebView.setWebViewClient(new WebViewClient());
		WebSettings webSettings = myWebView.getSettings();
		webSettings.setDomStorageEnabled(true);
		webSettings.setJavaScriptEnabled(true);
		webSettings.setDomStorageEnabled(true);
	    webSettings.setPluginState(PluginState.ON);
	    webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
		myWebView.loadUrl("http://www.monsite.com");
}
			  
		   public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength)
		   
		   {
		    //for downloading directly through download manager
		    Request request = new Request(Uri.parse(url));
		    request.allowScanningByMediaScanner();
		    request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
		    final String[] separated = url.split("/");
		    final String myFile = separated[separated.length - 1];
		    request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, myFile);
		    DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
		    dm.enqueue(request);	  	

}

	@[member=override]
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@[member=override]
	public boolean onOptionsItemSelected(MenuItem item) {
		// Handle action bar item clicks here. The action bar will
		// automatically handle clicks on the Home/Up button, so long
		// as you specify a parent activity in AndroidManifest.xml.
		int id = item.getItemId();
		if (id == R.id.action_settings) {
			return true;
		}
		return super.onOptionsItemSelected(item);
	}
}
Modifié par ineedmoney
Lien vers le commentaire
Partager sur d’autres sites

Salut, 

 

le nom du fichier est donné par cette ligne:

final String myFile = separated[separated.length - 1];

Tu peux donc le transformer comme bon te semble. 

Exemple:

final String myFile = separated[separated.length - 1].replace("123~~456~~", "").replace(".ext", "STATIQUE.ext");   
  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...