ineedmoney Posté(e) 8 décembre 2015 Posté(e) 8 décembre 2015 (modifié) 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.ext123~~456~~Variable3_-_Variable4.ext123~~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].extJe 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é 9 décembre 2015 par ineedmoney Citer
gob0 Posté(e) 9 décembre 2015 Posté(e) 9 décembre 2015 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"); 1 Citer
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.