Sign in to follow this  
ineedmoney

Renommer fichier lors du téléchargement

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);
	}
}
Edited by ineedmoney

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this