java实现文件上传--flash上传
1、http请求的头信息是“application/octet-stream”,request body 是二进制的flash图片流
2、把流中的信息读入到文件中
代码如下,代码分三个部分:
-----------------主程序-----------------
import richinfo.tools.Base64Coder;
import richinfo.tools.file.FileUtil; public class WriteFlie
{ /**
* @param args
*/
public static void main(String[] args)
{
String s = "/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSgBBwcHCggKEwoKEygaFhooKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKP/AABEIAZACJgMBEQACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APqmgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoACQASSABySamc404uc3ZLVt7JAlci+0Q/89o/++hXn/2zl3/QRD/wOP8AmX7OfZh9oh/57R/99Cj+2cu/6CIf+Bx/zD2c+zD7RD/z2j/76FH9s5d/0EQ/8Dj/AJh7OfZh9oh/57R/99Cj+2cu/wCgiH/gcf8AMPZz7MPtEP8Az2j/AO+hR/bOXf8AQRD/AMDj/mHs59mH2iH/AJ7R/wDfQo/tnLv+giH/AIHH/MPZz7MPtEP/AD2j/wC+hR/bOXf9BEP/AAOP+Yezn2YfaIf+e0f/AH0KP7Zy7/oIh/4HH/MPZz7MPtEP/PaP/voUf2zl3/QRD/wOP+Yezn2YfaIf+e0f/fQo/tnLv+giH/gcf8w9nPsw+0Q/89o/++hR/bOXf9BEP/A4/wCYezn2YfaIf+e0f/fQo/tnLv8AoIh/4HH/ADD2c+zD7RD/AM9o/wDvoUf2zl3/AEEQ/wDA4/5h7OfZh9oh/wCe0f8A30KP7Zy7/oIh/wCBx/zD2c+zD7RD/wA9o/8AvoUf2zl3/QRD/wADj/mHs59mH2iH/ntH/wB9Cj+2cu/6CIf+Bx/zD2c+zD7RD/z2j/76FH9s5d/0EQ/8Dj/mHs59mH2iH/ntH/30KP7Zy7/oIh/4HH/MPZz7MPtEP/PaP/voUf2zl3/QRD/wOP8AmHs59mH2iH/ntH/30KP7Zy7/AKCIf+Bx/wAw9nPsw+0Q/wDPaP8A76FH9s5d/wBBEP8AwOP+Yezn2YfaIf8AntH/AN9Cj+2cu/6CIf8Agcf8w9nPsw+0Q/8APaP/AL6FH9s5d/0EQ/8AA4/5h7OfZh9oh/57R/8AfQo/tnLv+giH/gcf8w9nPsw+0Q/89o/++hR/bOXf9BEP/A4/5h7OfZh9oh/57R/99Cj+2cu/6CIf+Bx/zD2c+zFE8JIAljJPAAYVUM2wFSShCvBt6JKUbt/eDpyXQkr0CAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAiuv8Aj2m/3D/KvNzn/kXYj/BP/wBJZdP416ktekQI7rGhaRgqjqWOAKAEjdZEDxsrIeQynINADqACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgCK5/1Y/wB9P/QhXm5r/Aj/AI6f/pyBcN/k/wAiWvSICgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgCK6/wCPab/cP8q83Of+RdiP8E//AEll0/jXqS16RBlzJJcyLtBUlxJG7N8u0Y4Iz/nrTEZryTWF5PI0buYG8+4kSTCiJg3AQnnpn8M85xVbk7FX4rzzweDGa1+3GSTUNPhKWNwYJ5Ee9gRo0kDJtLKxXO5fvckdags8gu9Wls/FUtjqF3faXp0d1eqln4g8YXFgYyLbS2UG5iklLnMsrKm4jEjHgjFAHVWPiHW38NeBRHeSwSQ+Fjr81/dMsiXUsUMEbRy7p49w23DuS7Iu/wAlt/yuKAJvhN4u1XXfElzZSa5pt5afvb14VW1kkRSVBSNotRndV3tu+dGABKAqNigA0PEOu+Jr2L4h6Lo2kavfXKO1np15ZzWsCWrvYQMoLPKkmRJIz7gDjcMHjAAOq1DVZZ/COqahqaav4UjtEeaWdxbTTxxRgO0ihDOhBAYYILcHAHBoA4/RNWFv411bSNc+JVyl3ZanBb2mn3L6dFJdxvb28gBXyA7bnldMptOAAORmgDQ8bXPiO88Xad4e0HxDpFrJcOl+8H2GRrm2tYSGMjuLhQ8bzKkJXapZZXxnYxoA1vCd94j1Gyvb2e+0i+jje7tIbdNPksS1xBM8WWkM82Iy0bdEJwQexUgHCab458VWOnrY3NppqXt9qd5HbXkt5LerHjWYrR0aMpESqC6wmHGRGMhc4ABU+JfjfxBD8NYsXn2PUrq91HT5L/To5oVQW80sPmBRBcFVEaNMw8xHAiYoxwcAE3hrXPE9140sbPU55QJksTE1xqE8EpPmagz5gNjEhLRQyqVeOMFYomD79jqAdB468T+I5G1K20PTrFLbTdd0yxa6k1SSGWV5JbOQrsWBgI2E4jY7z8pY7T90gHX+EtbvtXfWbfVbC2sb3TL0WciW101xG+YIZgwZo4z0mAxt6g8mgDW0vUrHV7CK+0q8tr6ylz5dxbSrLG+CQcMpIOCCPqDQBxXxD12PRby+ze63psv9jS3i3VuElttsM0YOUMczIy+coZxCR5cjE7jGuwA4/wCEWueI5fEsGneKNT8QLJM99PDa3dtJiZBM2CxfTotsYWRCCJhgmNdibhGoBiap401e10HxbJNqutpcG9m8P2st/d6dEqStYGVQ0sUyRQyxTByZF5IdUId1XygDtY/iY0vw68WeI9MiudQu7Ga5SCEJBLDEyW4mUb4JXQxKhBdzLkvvVcEpEADkLXxl4tbXbDRdLvpStjqH9kxSzTPPHqBgupkaO4ZbGVo7hoIN7nzUAV1lAA3AAH0JQAUAFAEVz/qx/vp/6EK83Nf4Ef8AHT/9OQLhv8n+RLXpEBQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQBFdf8AHtN/uH+VebnP/IuxH+Cf/pLLp/GvUlr0iDhNd0bWItae/tCGg85JRNCSZo0+UNGFwcjg8Djkkgkc+bjVXhGVSlr5Lc9jC18O6XsprXz266/16XsS6bol5eapFeXkK+UJDJ51wczOvOEZNowPyxgHGawy+GLm1WrO1+j3PHxVCMcRem9P17eh0PifQrXxHpDabfyXMdu00E5a2lMUgaKVJVw45X5kHKkHGcEHBHsgc1Y+DpdB1m+1fQ7eKe5VHjtob3U7hzcGX7P50s88glcEC2iVEUEARkknzMRgGf8A8IRrkPhXRLGxvra31LTvCV1oa3EczpsupEtRHIjBchQ0DHdww+XA9AC34O8G69oPipL691/7fppspoXt/Ovj+9LxFH23FzODhVkGRsI3fxZ+UAtaf8PdDu/tOoeLNC0TVddvpmuLm4ntEn25wEiVnXJWONUjBwu7ZvKhmagCrqHhjXE+C9t4R09NNn1JtGXSJ5Z7p4oU/wBGMTSKRExbDYIUhcjuOlABo1t4403Udduv7E8Ny/2perebf7bnXysW8MO3P2Tn/U7s8fexjjJANDxJ4bnn19dU0zTdIvFfT7y0urS8kMKXbzvaDMjCN8jyrdlOVOcIvTkAGT8NvDGq+ErLVIY/DXhaykuHublJdPvHBmdppJIYZP8ARlxGiyFA3zYC8JzgAGfqPw91yeLT47W802O403Y8d5KHf7bPJfWl5czyQgKI/wB5bORGjsG8zG6MAUAGv/DzXNX+Gt14enufDc97NNqVyz3emvNH5txNM8UkJMmYGUSn5sSlSeN2PmALcPw+1DTLzSptButNtl0uaKKLfZRK09s03mTswijSOOUK80ce1DtWSbLbpyYwDQ8afDbQNfaa7GiaRNq1zqFldXF1eQCR3jilh8xAxDEBoYim0YU5OfvMaAOl8PeHdH8OQ3UOgadbadb3M32iSG2QRxmTYqZCDhflReAAMgnqSSAHhbQbHwzoVrpOlR7LSDcQMKuWdi7ttUBVyzMdqhVGcKAAAADmviT4T1XxLI50u5sYY5NC1TS5FuVclnuVh8vBX7oDRZZsNxwFO7KgGf4O+Gi+E/Hyarpr2zab/Zk1q5+zWtvM0ryxMPkt7aIFQsR5ZmOWwAvJYAiX4WW0esSS26RW1pLrq6lJJbXU0N3JCumtbgNOhEhkM7u5Jf5hI5LEswIBah8D38fg34g6PHJEsmvPciyae/nuyqPaR26GWWQF8kxliPm2ggAnFAFXWfhxc3uoiW2nlhgsLqe/sgNYu4jdTTySySLIIdiwAfaJ0DoJHIZCSVRopADutOsdUg13V7q91f7Xptz5P2Kx+zLH9i2qRJ+8HMm9sN833cYFABoFjqll/aX9r6v/AGn597JPa/6MsP2WBsbIPl+/twfnPJzzQBq0ARXP+rH++n/oQrzc1/gR/wAdP/05AuG/yf5EtekQFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFAEV1/wAe03+4f5V5uc/8i7Ef4J/+ksun8a9Q+0Q/89o/++hR/bOXf9BEP/A4/wCYezn2YfaIf+e0f/fQo/tnLv8AoIh/4HH/ADD2c+zD7RD/AM9o/wDvoUf2zl3/AEEQ/wDA4/5h7OfZh9oh/wCe0f8A30KP7Zy7/oIh/wCBx/zD2c+zD7RD/wA9o/8AvoUf2zl3/QRD/wADj/mHs59mH2iH/ntH/wB9Cj+2cu/6CIf+Bx/zD2c+zD7RD/z2j/76FH9s5d/0EQ/8Dj/mHs59mH2iH/ntH/30KP7Zy7/oIh/4HH/MPZz7MPtEP/PaP/voUf2zl3/QRD/wOP8AmHs59mH2iH/ntH/30KP7Zy7/AKCIf+Bx/wAw9nPsw+0Q/wDPaP8A76FH9s5d/wBBEP8AwOP+Yezn2YfaIf8AntH/AN9Cj+2cu/6CIf8Agcf8w9nPsw+0Q/8APaP/AL6FH9s5d/0EQ/8AA4/5h7OfZh9oh/57R/8AfQo/tnLv+giH/gcf8w9nPsw+0Q/89o/++hR/bOXf9BEP/A4/5h7OfZh9oh/57R/99Cj+2cu/6CIf+Bx/zD2c+zD7RD/z2j/76FH9s5d/0EQ/8Dj/AJh7OfZh9oh/57R/99Cj+2cu/wCgiH/gcf8AMPZz7MPtEP8Az2j/AO+hR/bOXf8AQRD/AMDj/mHs59mH2iH/AJ7R/wDfQo/tnLv+giH/AIHH/MPZz7MPtEP/AD2j/wC+hR/bOXf9BEP/AAOP+Yezn2YfaIf+e0f/AH0KP7Zy7/oIh/4HH/MPZz7MPtEP/PaP/voUf2zl3/QRD/wOP+Yezn2YfaIf+e0f/fQo/tnLv+giH/gcf8w9nPsw+0Q/89o/++hR/bOXf9BEP/A4/wCYezn2YfaIf+e0f/fQo/tnLv8AoIh/4HH/ADD2c+zGSyxuqqkiM29eAQT94Vx47McJioRpUKsZSc6eikm9Jxb0T6JNvslcqMJRd2u/5FiveMgoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKAP//Z";
byte[] b = Base64Coder.decode(s);
System.out.println(b.length);
String dirPath = "D://a.jpg";
FileUtil.saveFile(dirPath,b);
}
}
-----------------解码方法(base64转为字节)-----------------
public static byte[] decode(char[] in)
{
int iLen = in.length;
if (iLen % 4 != 0)
throw new IllegalArgumentException(
"Length of Base64 encoded input string is not a multiple of 4.");
while (iLen > 0 && in[iLen - 1] == '=')
iLen--;
int oLen = (iLen * 3) / 4;
byte[] out = new byte[oLen];
int ip = 0;
int op = 0;
while (ip < iLen)
{
int i0 = in[ip++];
int i1 = in[ip++];
int i2 = ip < iLen ? in[ip++] : 'A';
int i3 = ip < iLen ? in[ip++] : 'A';
if (i0 > 127 || i1 > 127 || i2 > 127 || i3 > 127)
throw new IllegalArgumentException(
"Illegal character in Base64 encoded data.");
int b0 = map2[i0];
int b1 = map2[i1];
int b2 = map2[i2];
int b3 = map2[i3];
if (b0 < 0 || b1 < 0 || b2 < 0 || b3 < 0)
throw new IllegalArgumentException(
"Illegal character in Base64 encoded data.");
int o0 = (b0 << 2) | (b1 >>> 4);
int o1 = ((b1 & 0xf) << 4) | (b2 >>> 2);
int o2 = ((b2 & 3) << 6) | b3;
out[op++] = (byte) o0;
if (op < oLen)
out[op++] = (byte) o1;
if (op < oLen)
out[op++] = (byte) o2;
}
return out;
}
-----------------上传-----------------
public static int saveFile(String filePath, byte[] bytes)
{
FileOutputStream fos = null;
try
{
createFile(filePath);
fos = new FileOutputStream(filePath);
fos.write(bytes, 0, bytes.length);
fos.flush();
}
catch (FileNotFoundException e)
{
LOG.error("saveFileNOTFOUND,file={}", filePath, e);
}
catch (IOException e)
{
LOG.error("saveFileIO:file={}", filePath, e);
}
finally
{
StreamUtil.close(fos);
}
File file = new File(filePath);
if (file.exists())
{
return 0;
}
return -1;
}
java实现文件上传--flash上传的更多相关文章
- 使用swfupload上传超过30M文件,使用FLASH上传组件
原文:使用swfupload上传超过30M文件,使用FLASH上传组件 前一段时间会员的上传组件改用FLASH的swfupload来上传,既能很友好的显示上传进度,又能完全满足大文件的上传. 后来服务 ...
- 【docker】将Java jar文件生成镜像、上传镜像并生成镜像压缩文件
概述 将Springboot的web服务打包成Jar包后,自动化脚本将jar打包成镜像.上传镜像.并生成镜像的压缩文件: Dockerfile FROM 10.254.9.21/library/ora ...
- Flash上传文件(结合asp.net)
一.实现原理.在某些场合,我们需要使用Flash进行“文件上传”,原因是Flash 能制作出表现力丰富的UI界面. (自负又孤陋寡闻的我在这里做一个补充:Flash使用flash.net包中的File ...
- Flash上传组件之SWFUpload文件上传
一.什么是SWFUpload? SWFUpload是一个客户端文件上传工具,最初由Vinterwebb.se开发,它通过整合Flash与JavaScript技术为WEB开发者提供了一个具有丰富功能继而 ...
- java进行文件上传,带进度条
网上看到别人发过的一个java上传的代码,自己写了个完整的,附带源码 项目环境:jkd7.tomcat7. jar包:commons-fileupload-1.2.1.jar.commons-io-1 ...
- [html5+java]文件异步读取及上传核心代码
html5+java 文件异步读取及上传关键代码段 功能: 1.多文件文件拖拽上传,file input 多文件选择 2.html5 File Api 异步FormData,blob上传,图片显示 3 ...
- Java Web文件上传
参考资料:http://www.cnblogs.com/xdp-gacl/p/4200090.html 一.问题描述 Java Web文件上传需要借助一些第三方库,常用的是借助Apache的包,有两个 ...
- java web 文件上传下载
文件上传下载案例: 首先是此案例工程的目录结构:
- Java Struts文件上传和下载详解
Struts2文件上传 Struts 2框架提供了内置支持处理文件上传使用基于HTML表单的文件上传.上传一个文件时,它通常会被存储在一个临时目录中,他们应该由Action类进行处理或移动到一个永久的 ...
随机推荐
- August 8th 2016, Week 33rd Monday
Everything is going on, but don't give up trying. 万事随缘,但不要放弃努力. Every time when I want to give up, y ...
- SQL Server 数据类型
数据类型的选择帮助优化查询,比如针对int类型列和针对文本类型列可能会生成完全不同的查询计划 三种数据类型: 系统数据类型 别名数据类型:用户可以为系统数据类型提供一个别名,并且可以对数据类型做进一步 ...
- hdu 2027统计元音
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2027 思路:主要考察gets()函数用法,能够接受输入的空格,如果用%s或是cin>>st ...
- 三、jQuery--jQuery基础--jQuery基础课程--第7章 jQuery 动画特效
1.调用show()和hide()方法显示和隐藏元素 show()和hide()方法用于显示或隐藏页面中的元素,它的调用格式分别为:$(selector).hide(speed,[callback]) ...
- mysql里表以及列的增删改查
在一个表里插入数据(增) insert into 表名 (需要插入的列名如 id,name,age)values (1,'张三',20), (2,'李四',30): 查询表内容(查 ...
- Asp.Net - 7.AJAX
AJAX简介 没有AJAX会怎么样?普通的ASP.Net每次执行服务端方法的时候都要刷新当前页面,比如实现显示服务器的时间.每次都要刷新面的坏处:页面刷新打断用户操作.速度慢.增加服务器的流量压力.如 ...
- SQLServer内置函数
类型转换函数cast和convert --cast一般更容易使用,convert的优点是可以格式化日期和数值 select CAST('123.4' as int) --失败 select CONVE ...
- 菜鸟学Linux命令:nohup命令启动程序
在UNIX/LINUX中,普通进程用&符号放到后台运行,如果启动该程序的控制台logout,则该进程随即终止. 要实现守护进程,一种方法是按守护进程的规则去编程,比较麻烦:另一种方法是仍然用普 ...
- thinkphp计划任务使用cronRun
thinkphp计划任务使用cronRun .先不管是是否是独立分组,必须在你项目名下的Conf文件夹内创建2个文件一个是tages.php 一个是 crons.php. 注意这两个文件名为think ...
- Zero Copy 简介
转自:http://blog.csdn.net/zzz_781111/article/details/7534649 许多web应用都会向用户提供大量的静态内容,这意味着有很多data从硬盘读出之后, ...