1. 程式人生 > >Android 關於帶有中文字樣以及空格檔名的檔案上傳及下載

Android 關於帶有中文字樣以及空格檔名的檔案上傳及下載

昨天閒來沒事,做了一些檔案的上傳和下載,博主這裡用的上傳以及下載框架名為:xutils3,想必有些人也用過。當然,這個框架正常的上傳和下載都是OK的,但是我發現,在遇到檔名帶有中文字樣和空格的檔案的時候,就會出現錯誤如下:

這是我下載檔案的時候框架丟擲的錯誤。後來百度了一下,說是需要進行urlencode,但是你只能對中文字樣的進行編碼,不然還是錯誤我是這麼做的:

private static String zhPattern = "[\u4e00-\u9fa5]+";//正則表示式,用於匹配url裡面的中文

	public static String encode(String str, String charset) throws UnsupportedEncodingException {
		Pattern p = Pattern.compile(zhPattern);
		Matcher m = p.matcher(str);
		StringBuffer b = new StringBuffer();
		while (m.find()) {
			m.appendReplacement(b, URLEncoder.encode(m.group(0), charset));
		}
		m.appendTail(b);
		return b.toString();
	}
這只是解決的檔名包含中文字樣的,如果裡面還包含空格,那就在解析的結果裡面再調
encodeUrl.replaceAll(" ","%20");//%20就代表空格的編碼
這樣才算完整的url,再去調你的框架去載入或上傳就OK啦。

相關推薦

Android 關於帶有中文字樣以及空格檔名檔案下載

昨天閒來沒事,做了一些檔案的上傳和下載,博主這裡用的上傳以及下載框架名為:xutils3,想必有些人也用過。當然,這個框架正常的上傳和下載都是OK的,但是我發現,在遇到檔名帶有中文字樣和空格的檔案的時

hdfs檔案下載的流程

1.檔案上傳的流程 1)客戶端向namenode傳送檔案上傳的請求 2)namenode會進行一系列的檢查: - 父目錄是否存在 - 檔案是否已經上傳 - 是否有檔案上傳許可權等 - 如果檢查沒問題,則會發送允許上傳的響應 3)客戶端傳送真正的上傳請求 包含重要的資訊

【Java】檔案下載、限制檔案大小

1、後端部分       Controller程式碼 // 上傳 @PostMapping("upload") @ResponseBody public Result upload(MultipartFile files, I

微信小程式多媒體檔案下載(springboot框架中)

/** * 微信檔案上傳介面 * @param file 待上傳檔案的完整路徑 */ public FileUploadOrDownload uploadTempMedia(String file) { /

linux 登陸ftp檔案下載

1.      Linux 終端連線FTP [[email protected] ~]$ ftp 10.85.7.97 Connected to 10.85.7.97. 220 Serv-U FTP Server v6.4 for WinSock ready..

Spring整合Struts2實現多檔案下載

Sping與Struts環境的搭建在前文已經講述過了,再次就不再做過多介紹了,詳情請參考前文《Spring整合Struts2中攔截鏈與註解的使用 》。接下來進入正題,Struts2的多檔案上傳步驟。本文仍然沿用Spring框架對Struts2框架進行管理,首先來看web.x

Linux檔案下載:rz&sz

1、簡述 通常,利用SSH管理遠端Linux伺服器時,經常需要與本地互動檔案。當然,我們可以利用FTP方式,比如通過Filezilla客戶端軟體。不過直接使用SSH軟體(SecureCRT、Xshell)自帶的上傳和下載功能無疑使最方便快捷的。通常SSH軟

Android關於FTP檔案下載功能詳解

Android關於FTP檔案上傳和下載功能詳解  更新時間:2017年09月21日 11:41:14   作者:一諾的祕密花園    我要評論 這篇文章主要為大家詳細介紹了Android關於FTP檔案上傳和下載功能,具有一定的參考價值,感興趣

extjs列表中檔案下載帶有重新命名操作)

下面是extjs列表中檔案上傳與下載: 如圖: 一、上傳 上傳按鈕: { xtype: 'button', width: 60, margin: '0 20', text: ' 上 傳 ', handler: 'onUploadClick' }] 上傳按

Java:使用HttpClient進行POST和GET請求以及檔案下載

1.HttpClient2.本部落格簡單介紹一下POST和GET以及檔案下載的應用。程式碼如下:package net.mobctrl; import java.io.ByteArrayOutputStream; import java.io.File; import ja

Android Retrofit2.0實現檔案下載

這篇主要介紹retrofit框架的上傳檔案到伺服器和從伺服器下載功能的實現 上傳檔案到伺服器 首先 retrofit2.0之前上傳檔案到伺服器需要一個叫TypedFile這個類,但是在2.0版本,這個類被取消了,因為2.0以後,retrofit內部集成了okhttp

20170807ceph入門(一)——ceph中rados物件建立以及檔案下載

ceph中rados物件建立以及檔案上傳與下載 一、將本地檔案 /home/liangwl/file 檔案拷貝到 cephpool 這個池中,並在pool中檢視這個檔案中的內容 環境:3臺monitor,3個osd 檢視pool rados lspools 1. 我們先

關於JSch的使用,執行ssh命令,檔案下載以及連線方式

最近在做一個SAAS服務的專案,SAAS就是軟體即服務,具體可以去問度娘,然後底層呢需要遠端執行SSH命令來進行支援,最後就選擇了JSch來完成這個工作。 JSch是SSH2的一個純JAVA實現。它允許你連線到一個sshd伺服器,使用埠轉發,X11轉發,檔案傳輸等等。 大致

Mac連線遠端伺服器(Linux)以及檔案下載命令

在windows上,用xshell+xftp就可以很方便的操作遠端linux伺服器了。 而這2個軟體是沒有mac版的,所以在macOS下,是怎樣實現對遠端linux伺服器的操作的呢?   使用ssh連線遠端主機 ssh [email protected] 使用

Android中關於FTP的檔案下載

package ryancheng.example.progressbar; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; impo

Android網路開源庫-Retrofit(二) 檔案下載進度監聽

1.寫在前面的話 首先說明,我還沒太搞懂retrofit,目前,這篇部落格只能給出這幾個內容。 檔案上傳 檔案下載 檔案下載的進度監聽 還有這兩點沒弄好, 多檔案一次上傳 (批量上傳) 檔案上傳進度監聽 當前使用版本 compile 'com

【IOS學習】http非同步檔案下載以及進度指示

2016-02-12 13:05:07.330 network-demo[16708:1254465] =================request redirectResponse================= 2016-02-12 13:05:07.331 network-demo[16708:

Android Webview實現圖片、檔案啟動相機功能

直接上程式碼,體會Webview強大的功能。 webView.setWebChromeClient(webChromeClient);private String mCameraFilePath = null; private ValueCallback<Uri&g

Apache FTP多執行緒檔案下載、修改檔名、刪除

此處實現多執行緒對FTP檔案的操作,FTPStatus來自上一篇文章,下附工具程式碼。 package com.scengine.wtms.utils.ftp; import java.io.File; import java.io.FileInputStream;

struts2實現檔案下載功能

一、Demo介紹 基於struts2框架,實現多檔案的上傳和下載功能。 實現原理圖: 部分介面圖: 上傳成功及下載頁面: 二、主要程式碼 uploadFile.jsp:在form表單中包含一個文字框(上傳使用者的姓名)和兩個檔案上傳選項. <%@