将base64加密之后的图片文件流写为文件

本文介绍如何将通过Base64编码的图片文件流解码并保存为本地图片文件,涉及Base64解码及文件写入操作。
摘要由CSDN通过智能技术生成

流水账代码:

public class ImagetoImageUrlUtil {

	private static final Logger logger = Logger
			.getLogger(ImagetoImageUrlUtil.class);

	@Autowired
	private static int MAXSIZE = 1024 * 1024 * 4;

	public static String upLoadImage(String image,String uploadPath,String readPath) {
		FileOutputStream fos = null;
		BufferedOutputStream bos = null;
		String newFileName = new SimpleDateFormat("yyyyMMddHHmmssSSS")
				.format(new Date())
				+ "_"
				+ new Random().nextInt(10000)
				+"."
				+ image.split(",")[0].split("/")[1].split(";")[0];
		try {
			byte[] photoimg = new BASE64Decoder().decodeBuffer(image.split(",")[1]);
			for (int i = 0; i < photoimg.length; ++i) {
				if (photoimg[i] < 0) {
					// 调整异常数据
					photoimg[i] += 256;
				}
			}
			System.out.println("图片的大小:" + photoimg.length);
			logger.info("uploadPath :" + uploadPath);
			logger.info("readPath :" + readPath);
			if (photoimg.length < MAXSIZE) {
				fos = new FileOutputStream(new File(uploadPath + newFileName));
				bos = new BufferedOutputStream(fos);
				bos.write(photoimg);
			} else {
				throw new Exception("图片大小不能超过4M");
			}
		} catch (Exception e) {
			logger.info("Exception" + e.getMessage());
			e.printStackTrace();
		} finally {
			if (bos != null) {
				try {
					bos.close();
				} catch (IOException e1) {
					e1.printStackTrace();
				}
			}
			if (fos != null) {
				try {
					fos.close();
				} catch (IOException e1) {
					e1.printStackTrace();
				}
			}
		}
		String pictureUrl = readPath + newFileName;
		return pictureUrl;
	}
	public static void main(String[] args) {
		
		ImagetoImageUrlUtil.upLoadImage("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAAI+CAYAAADjM6ekAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH4AcKFBE6ifd8WAAAgABJREFUeNrt/W+MG9eB53v/KLVs0mnFpCInzYw1Y2asHbcmvk9aUO5ua50X0SL3Qj3IBcbGDJAYu8CM1gtkZAfISJkXkeIXsTu4mNgzQGytgc1oFtiBEmAH1gDXSBs3wbRf2Ld7n8eCOnvtVXtHSeiJlLBtKWYl6phlmxKfF+xiF4un/rLYJKu/H4Fo1r9Tp6rZVPHHc07lJLUEAAAAAAAAYGTl7z2eeNsdw648AAAAAAAAgMHJiRaAAAAAAAAAwEhrteJFeP/myL/R0pVpSdKEe4HTlPDYH9mq7K/IVkP5fGFjoSRbqlt1rV2pqmZVtfjDw8M+dgAAAAAAACBVjcvPavX1ldjbnf+HBS2+tKh/XPzHvrZffGmxZ1mc8s7/w0LX9IRppcr+ivJTeVXfvCTbkvJFybZsyZaUlxq7pfobtk5/La8nv2mne4YBAAAAAACAjDlw/0Hj/EuvXRz4vnsCwIc/X9PMZx/UmX84LeWl8lRFebugSvHARivAhqpakzVV1vdfOK/j35jVmcdLQzt5jcvPdp4X9j/aNe2nsP/R2OVH2cZv30m2jVNHAAAAAAAAZJ8TInpDQ7/5jq4AcO5zq5r93INaeOmsbFl68L5j+oOZhzVVnOrZsLpW1ZnvzWv11YuShtcV2C/0cwdocUI8tyhhol+dkuzH2a5x+Vk1Lj9LCAgAAAAAAJAhfsFdnO0P3H9QB+4/2CkrLPyTPAFgzarJsmpaenVBh++f07HPnvDdsFQsaeW1RVXtqoYZAA5K0vAPAAAAAAAAcLhDPvfzpF1/3SFg1LK6AkDLquncC2eVv8fSkZk/6Fl55Y0V1e2aysWyFlfPqa6aisW8ap71orbI8873WxZW3qgJOj6TNForAgAAAAAAYHtwQkDneZgd7omZ+w6qMlVWed+USlP5npVn7pvRgXsOSsorX5LKU2VV9pd9Cy/sf7TzcJi6u4Ytc28fFAqmJWkI5z7eJPUk/AMAAAAAAMieS69d7HpI8bv/uvm1KvTTFQCef2Falm0pny9paXVR7dv+dpsqTmn6nmk99KnTmt4/oyOfmutZxzuWXVRbEe4lrceg60T4BwAAAAAAsH24w8A43C3/ooaJO3pn5WWt2ZqZPqLlN5a08say1qy13rXyeVmWpZP/wVxwklZwoxSCeVsuRr2Tb5KgcJSOGwAAAAAAAN2cMfe8j2HUQ+ru9hslBJzwzlj64RF9/+/ndOSedss+27aNG+aV17n/OG1cFhSCOXft9eve6w3RvHfDjbKdX/DYT9DmrodfOab6xxnfz1tfAkEAAAAAAIDxl1ZY6NdiMNZNQBzubr35fN64YVA4FRZcDWJb0/w0ArS45SZZRtAHAAAAAAAwupLesbffbdNiDAAL+x9V7dUnVbfqWltbU6PR6CyzbVvlcjnyDtIQ1CIQAAAAAAAASNv5f1gY6vZplpeT1HIm8vce71r41J9Pq3alJsuyOvNs29a5l/NRywcAAAAAAADGyuF9q0Pd/+JLiz3zjnz2SOxylq60h+8LDAABAAAAAAAAbC37x2d65vWT2+1IvCUAAAAAAACAkdfVAnAUBiUEAAAAAAAAtjPTXYP7ye26bgJy5j+dHfbxAQAAAAAAAPBImts9++1nu1sAtlqtRAUBAAAAAAAASEcul+uZlyS3e/TLj+rZbz/b3QJQ9rAPDwAAAAAAAECPPnI7bgICAAAAAAAAZBgBIAAAAAAAAJBhBIAAAAAAAABAhhEAAgAAAAAAABlGAAgAAAAAAABkGAEgAAAAAAAAkGEEgAAAAAAAAECGTbgnbNm+KxYKhZ55jUaja7l32rTeIIXVMUk5w6p70v065WxVvdOoY1idh/H7AAAAAAAAGCVBuV2YrgBQTf8VGzcaKuwuqHFjI7TZXehav3Gj0TttWG/Q3PVMuu9h1L3n/BY2nycpx6/e7n0Mi6mO3tePd32n7lv5WgIAAAAAABgZfWQiiboAj0KIZOKt0yjWEQAAAAAAANhKE3E3KOwu+M6LE7gl2aZffvuMUxfv8W9V/U11DKuLe3mn1Z3MAa63/K04TtNrye9Yo2xP4AsAAAAAANArdgtAU8gSN3hxAih3KDVofvtMUhdn/a0M//zqGFYX9zLvz6Dy3esO6vdkqnec38dW1BEAAAAAAGDcRR4D0L1Oo+4zXlvTfxuvrrBmEOO6hdUvynPDdKPuCsnqAwgAfepiOl9BdemsH/X3lOTcbOGxJqo7AAAAAABAVvSRecTuApyWgYRnW1z3QqmwZcfhtx+/ugyjjoM+VgAAAAAAAMTXFQDaTf/bCZfuKklqB0r1a/XQZc48Z76kzrL6tXpnnnt+Gvzq6d5n/Vq9c6ym+UF1dy8LO2dJ6x1Ux7C6mI7f/dx7vEHnxq8+aR2rdz/1a3XjsQb9PgZVRwAAAAAAgFHST+aRk9RyJtIM4jD+SneVRv41MQ51BAAAAAAAiMPb6EtKltud/sZpPfvtZ6OPAVgql4zz67XRCV/GoY7jUnenPqW7SqnXIa1jHWQdAQAAAAAARkpaYwAGNSWsXakZ549Sl8txqOO41N1dn7TrkNaxDrKOAAAAAAAAo6Sf7GPHsCsPAAAAAAAAYHAidwEGAAAAAAAAMCR95Ha0AAQAAAAAAAAyrKsFYKPZGHZ9AAAAAAAAAHj0k9t1BYBPf/vpYR8LAAAAAAAAAI9+crucpJYz0Wq0EhcEAAAAAAAAoH+5Qq5nXj+5HWMAAgAAAAAAABlGAAgAAAAAAABkGAEgAAAAAAAAkGEEgAAAAAAAAECGEQACAAAAAAAAGTYx7AoAAAAAAABkRn7YFcCWsoddgWgIAD1sW1p6o6rl16qqrlmq32j/Jku785qeKmrm/ooO31dRvo8/6JWXzyt/9UmV8jU1mgWt6UHN/uFT8X8bP16V/uGcdKUqrW+84ibz0lRF+uOHpXunh3sum1L1x6uqVquqXbe0+tolWeu2isWSDn96RtP3T6s8VVJxshi77O++8F3Vrtc60+W9ZX3x818c6vECAAAAAAAMyvzfLSbOqnKSWs5Eq9F+mivMB+6w1Tg1tIN9+oWq8vl2uFTMS5bVnu8cpLVu64ufqagyFT+hq161tPxaVTWrvlFmoRPK2U3JthuSpEqxpNn7K6rcXYy/j9eXpcsPq6BG9/yJRzX7+Rjn9T+fkZYXpOlp6e5ye96EpKaktZq0vCR99iHpkRPx6vdmVedf+K4e/PwXVbmnYlxn4cUFrf54JXAdSVpbs/TUt8+q+mZVltUO6/KTeUkF5TfOa36yqMrdZR2cmValUtH0PZWNdcye/s/zWnhpUcXJvPKTRRXyUsOW7HVLtm1r7uicjv9RvGMGAAAAACA1tADcXgbUAjBXyPXMe+pv/zFxVuXb5swv5MsV5jX/rXmd+upwQkDbtnX4/opm78tr+XVLs0e7D2zhgqXvvlzVqT+K1/qtetXSwvKqalZdpWJJ+byUn8i3A6ampHVb+XxBdlO6dLWm+rqtudnp2CHg2ur3VZksSpNHVCxNy7ryvGRXVVx/XlLEc/rMvKS69Llp6brVfji/yababzZHD0ovnpPW69JXnoxcv/MvfFfH/uS4zv7nM8aAzwn/jj1yXGe/c0YnHvOvcz6/8ZjMaypfkWXVVL9mSVqTJvIqSNJ6XZZlaW2tpuJkWQdnKvriFx40lvfv/+JhPf/D8zr+Z8elvGRZluxmQ6WJgvL5kizL1um/Oq3V1Yt69vFzsX4vAAAAAAAAaTnzd99VaWpK1TerOvXIMZ35+/OyrLpqV6p69hvRcxq3/GQhcVa15V2ATQmmm9MK0U+jKdXXpfnvVdVo2lp8rabiZF6165uRq92UTv7dio59dlrTd4dH77atTsu/0t6S6lZDBVuavreocimvhi2tyVL1el35iYLKUyXV1upafq2q8t6ZeN2Bm5L2P6Xi+qry+ZKK5Ydl5SuyXj4TbfuXFqUbVen+orSyJO0uSDfqstftzdS5ufFzr5T/23npU4elz85FKv7EY6f09DPzOv6l4zrzXG/At/rjFR3/0gmdee5pTd87E1hWfaMlpZqSbVvSREGlklSvW1LT1lRlWuW7KyrfVZQkVatr8juZp//6UZ39znd14tvHtVJd0XR5Wsc+f0yaaK9fW6vp3Mtn9dC/e1BnHv+uKvvKOvEnT8X4xQAAAAAAAKTDshsq5wu6+Oqy9Mgxra5cVGX6oKb3F5KXaTUSZ1WBAWDOU6fWRq/V049Lpx+f35gXvyWgX8iXK+Qity5s2LaOfLqiI5/Ma/FHazr++XZLNdtuB4CLr1s6+8OqnvqT8JaAS29UVbNslYol1a7XtbRS1YFKWdP3trvWlvcWVLm7JL0mLf2opvJUXqW9JdWsulbeqGr2U5XQfXTqvfeI6q8tqHj/4fbZL1ak61XVmjPRCnjpu9Knp6RXvys1G7ImytLuaWn6oPJTlY1AzJasuuy1quy1BRW/86S0f1q621xPp9vvicdOqfpmVZKUzxeN60nSme+0w7+5o8GhYmGjWaq1brVnNBuyb9gqFPKq37BVra5q7XpNKxvr5/MlzU3O9u73elXzXzuj6T+qaNW6qNWrqzr75b/R1NTm8czcO6PzL5/VxdqyKp+d0sm/eJoAEAAAAAAAbKl//+cnNX3/QTVsW6tvXFL18iVJ0urrK9KElJ8o6OBnD2vuc3+g039+QvkYrcqqa1birKorALRdHZdt2Wp0D1PXWdpotMdYKxSe1vy35nXiq/5jrhUKvcmmuxVgw7sTTz16ypuQ7KatNctW9ZqtR5+rqpiXFl6tqzQp1dbs9gnN56UJ6d8/s6Ljn69o+h7/E7r8WlX5yYLUlFZWa6quWSrk81p4ZVWND6TD95d17PMzmpmuaOlHNV2qWjp8f0nKS4urVc18quxb9soPz+vSi+dkr9vKT0hre4sqTpT1UH5JmihJaqi6ZmlRto40LeUn/OuZf2NVmi5K62vSWlXW5LTyf3pG+U/OmteXpH97WtaDB1V8eUH2F44Z1zv/wnd1/LETOv/ieVV/vKrjj53Q2tqaKvdOy262z2f1zaoWXjivuc8/2OkWbId1dM9LhUJe9npDmrDbLRN3tVsAWuu19hh+haKmpkoqT1U6L3pvuWf/rt06Mj8lVWurKubzyk+WvC8aXaqtyp6oq3h3XlqX5v/upE7822TNagEAAAAAZt7P+abP9YPaZ9R9mbKIrainJOUZBHBbcWcY1Terquyflt1syK5bWnn9okqlsh59fF5T91RUtwuq7K/oyP/xsFaWF/X0c0/rxFei38egWqsnzqq6WwA2u58Xdne/aBsbdxnpWs807dG4Yf4jK+wumLcNKc/eWF7QxpiAs9Oa+1ReC/9tTae+MNW17ndfsnTmhaqe/ZJ/S8DqmqXZT5ZUvVpTbc2SJNWu26pdr6o4mdeRmcpGMNf+tVobd9wtFfNauVDzre/qj5Z08R/OdpJTuykVr1rKf7qs56+XZDcbqtu2Dh89rHKtqqdefFInP3faPwR87aIkS1pZknU9r/zjzysfcqdf+9VFqbYqVVd96zn3+Qd15pmndfxLJ6TPHZFt28pP5lWczOvMc09r7vMPboZ/d1dCfz+O/ERe+bzUaFibNyhp2rLtuhq2rS/+0UMqlytS05byedlWXZV95Z7yF19dkO6VbKuqel46UJzuuXNwdW1VVWtVpam87HVLultaenVBJ75AAAgAAAAAaSnsLnR9xvf9XJ+yxo1GrH056zt13ap6Yhtyva5WXquqck9FS8vLkqSZzz2s8t6iJMmybDXsmqqXq7LX65r5zBGd/Y9P68Rj0QPAfrKqwC7AncDPo/C9vBpf6P82J94/yCjqtq1pScVJSbvaXYFr67akvBZerWnuX7UDQCckrFm2wm7JUr/RbuVm2e3yCxsnMJ/P68jstP7gMxVZ67YWV6qddZ1WhvUb/mWvLpxVPl9UqVLS9L1TWnl1VfXrlrS6qvyXi1p9bVG2bWtlXZreN62l9ZrOvnBGx//Q55dvW9IPz7UDs/vmjOGf9eKC6i+dV+mzcyrOHJb9vSdVLEva5V/Pyt2Vdgj43NNd8+eOPqi165YWXjivmUOz7fAvhnYAmJe1Xm/fpabZ2LhDTTsELJWKKk+VVSwWVb6rpLPfPat8sTf8rF6rqnL/xvFdlyrTvfWoWlVZTanUbB9ncb9UW6/Fqi8AAAAAIJ44n+eHJW7uACRVXaupWCxLakhNae3ykqortpaXFzW9f1qV+w6qNNGQPSlVL1fbQ601FeMOHcmzqsBd+LUAjBP+uUM+3xaFcTQl557a9UatfTfZD9qLnn1scxy9/MbR2c2G6jeiFZ2XVNhotaaJvKbvKesPZg+oOFnUwvKqVt5oB0rF3cVIfbSLpZJmP3dY5UJd+cmSKpWyrHxFi//1adWa7a7Mlb3TuriyoMb9lqyr0nEtSfIJAKcqUjHfDgBnzC3/8jMHVZqwZb+xqurfP6VSc0W6d0oqTilI5e5KuwWgy9LLi6pdrWrmUzNaubCscrkcKwQ8/8J5Lf7tWRXfXNXahKRiWZpoh7ZqStP3HVBlf0XVy5d09m/PaenVZR370947ABd2S/lJKV+UtC5VpgzBZ72m/EQ7GLabUt5q330YAAAAAJCeTks8mcM/v2Xe+e5p0zbOPL/5UQM9dznAoF1cXlbtSlWlu6ZUq1Xbw8Hl83r+787pqb96Suf+7lmV8gXV1xuybUvFYjHe7Xn7yKq2tAWgqbzYrQAn8irvbd/sIz9RUmGipkZTOv29qgrauA2yY+N5vhBcdml3Xmq2A6NiMb9Rdnv8uobd0NIbVS29UVO9YStfyKtczKuUbwdxpd0BIdN9c7LXFqWNG36crJ5r3xF32pZWFjRVrGi6fFh129Ly8vc1pcMqTAZUdHpG+mFZ2peXrFVjSpyfmlJ+6kHpc5LsE7KeeVR67fvS3QdCT61l2Tr8HzbvRvzFWengJ6dVKpU1cyjf3Q04xOrrq7r4jSd1/GpVhQmpaktPXa+pNtnu+mzbtp7+69Ptm5Y0pcq9MzowPa3y3t7xFKfvndbS2ooqk+0gcNoQANbXLZX3SoVSXnbTlt2UKpVyaD0BAAAAAPG4QzxvOGdaZnruZAGmPKCn626EfQfVlRAQW6Vyz5QOzs5qduagrBu2qlerqlUvafq+aZX2lnX8y6d18NBBqSlVr9a08PdnYpXfT1blOwZgYffTvjts/JHdM15gkEZ9I+SrN1QoeVoB1g3jCgaUV5qQvv/yquqWLdnt8Mhu2irI+YNudMqwpfaYc43gMitTRVnrtsrFgqbvKWv1x7WNu+lK1g1b2tXePr8rr9JkXpW7y8rvancvrkwVfcteuVpStabNG340bc3df2yjXu11ajeqOrjviOymraU3F6TPPu9bnr23rPxdh6XikrS6pLXnTqr42YeVv7siTeY7dd58ZeRV/PxxWdW68jNHAs+BZdk6/Gdn9NRX2nf2vfhGTd99cUVHHihq8aUFzR19UDo02w4Bj4aHgGe/clyn16rSRF4N2apM5FVp2pqzarIn2iFdcW9F0/fNqLA7r+JkSdXLF9v91z31PPLpOS385xXlZ6TSpFQs9QZ7VrMm25ZqVVv5ScnKS0f+1RxjPAAAAADAgLg/6zu6wrZm93re+c6yoHsD9CyPkUU46/juA0iD67W1+vqqKipIM9LCD7+vhm3LWmt38119fVUzGzc0XXjx+9KEtLS8FO+12UdWZWwB2Kif0NPPtAPA04+3pwt/vxkuFf5+IwRMoBP4dc1rqFCKlsif+MN28HTy71Z1YF9eCxfa4/8d/3x+Y9jDzXrmJ/J66nvVzkCIfmbvLWv5xzXlJws6uL8s27ZVu95QMS9NV9rdVlcvW7JsqTxVUqWcl1W3ZVl1zU6bW5md/WFNl67k9eifP6WzL51Xw2rXzpZUvbYqqR1cqilZtqWZfUdUbzZ05IU/0MXH/L/FWDt6XI1vL6r8b5+SSgdUe+Gs7Gs1le4/oqk/Od6zvmVLtS+eVKVY9C1z9aqlh/7irP7mGw9q8eUVSVJ5qt1l+PDMYZXvKmvhxfN6+AvHVCgUtPBie0zAwzOHfcus/HhVUl71jfEX7Y0QsGxbWt047vLUlCqVikqTJdl2XSvWmrFV48Ofe1RPvTgv64Y0NZlXpdgbPi6uLOrBmQd1eHpOT/1fJzW119LDnzkprUd6WQEAAAAAIiiUugM/L9My9zZRP/sD48i2XflTUyrk81qpViVJ1VpVs6W5zuK8d/0I8lLirKorarGbmzs+/qV2mHT68TOym7bqf9hdKbt
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值