我正在開發將圖像發送到服務器的應用程序。所有圖像名稱必須以掃描代碼(條形碼或QR碼)+ 5個隨機數字開頭。 Everthing正常工作,如果我掃描條形碼與數字。但是,如果我掃描QR碼至少包含斜線字符/
,那麼我的應用會爆炸。 如果我解析掃描的QR碼,並用_
替換/
再次一切正常。如果名稱包含斜線,則圖像保存不起作用
這是代碼,其中i生成圖像文件
private File createImageFile() throws IOException {
imageName = generateImageName();
File storageDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
File image = File.createTempFile(imageName, ".png", storageDir);
mCurrentPhotoPath = image.getPath();
mImageNameList.add(imageName);
return image;
}
這是代碼,其中i生成圖像名。替換字符的部分可以被註釋。
public String generateImageName() {
int randomNumber = randomGenerator.nextInt((99999 - 100) + 1) + 100;
// Image name generator
if (mCodeContent.contains("http://")) {
mCodeContent = mCodeContent.replace("http://", "");
}
if (mCodeContent.contains("/")) {
mCodeContent = mCodeContent.replace("/", "_");
}
imageName = mCodeContent + "_" + Integer.toString(randomNumber) + ".png";
return imageName;
}
我需要用斜槓
您是否嘗試過重命名Windows中的文件/ Linux並把斜槓放入文件名? – helleye