关于本地服务器存文件目录成功与服务器存文件目录不成功的问题。

        //将获取的base64字符串 转换成字节数组
        Base64 encoder = new Base64();
        byte[] decode = encoder.decode(imageBase64);
        //获取项目临时图片文件夹
        String realpath = ServletActionContext.getServletContext().getRealPath("/tmp/");
        //如果不存在则自行创建
        if (!new File(realpath).exists()) {
            new File(realpath).mkdir();
        }
        //以点号分割文件名   并截取文件类型名  如果不存在的话 则默认为jpg
//        String[] imageNameSplit = imageName.split("\\.");
//        String imageType = imageNameSplit.length > 1 ? imageNameSplit[imageNameSplit.length-1] : "jpg";

        //对存储路径进行处理
        String imageLocation = realpath + "\\" + RandomUtil.generateGUID() + ".jpg" ;

        // 确定写出文件的位置       路径  + 文件md5摘要 + 文件类型
        File file = new File(imageLocation);

        // 建立输出字节流
        FileOutputStream fos = null;
        try {
            fos = new FileOutputStream(file);
        } catch (FileNotFoundException e1) {
            e1.printStackTrace();
        }
        // 用FileOutputStream 的write方法写入到文件中
        try {
            fos.write(decode);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                fos.close();
            } catch (IOException e) {
                // TODO
                e.printStackTrace();
            }
        }

因为开发使用的是windows系统,所以系统的文件分隔符与linux的会不一致。

所以应该使用下列的方法。

        String separator = System.getProperty("file.separator");

        //将获取的base64字符串 转换成字节数组
        Base64 encoder = new Base64();
        byte[] decode = encoder.decode(imageBase64);
        //获取项目临时图片文件夹
        String realpath = ServletActionContext.getServletContext().getRealPath(separator+"tmp"+separator);
        //如果不存在则自行创建
        if (!new File(realpath).exists()) {
            new File(realpath).mkdir();
        }
        //以点号分割文件名   并截取文件类型名  如果不存在的话 则默认为jpg
//        String[] imageNameSplit = imageName.split("\\.");
//        String imageType = imageNameSplit.length > 1 ? imageNameSplit[imageNameSplit.length-1] : "jpg";

        //对存储路径进行处理
        String imageLocation = realpath + separator + RandomUtil.generateGUID() + ".jpg" ;

        // 确定写出文件的位置       路径  + 文件md5摘要 + 文件类型
        File file = new File(imageLocation);

        // 建立输出字节流
        FileOutputStream fos = null;
        try {
            fos = new FileOutputStream(file);
        } catch (FileNotFoundException e1) {
            e1.printStackTrace();
        }
        // 用FileOutputStream 的write方法写入到文件中
        try {
            fos.write(decode);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                fos.close();
            } catch (IOException e) {
                // TODO
                e.printStackTrace();
            }
        }

才能插入成功!

时间: 2024-11-01 21:19:05

关于本地服务器存文件目录成功与服务器存文件目录不成功的问题。的相关文章

SQL Server 2008 报错:已成功与服务器建立连接,但是在登录前的握手期间发生错误

今天SqlServer 2008连接数据库时报错:已成功与服务器建立连接,但是在登录前的握手期间发生错误.在连接到 SQL Server 2008 时,在默认的设置下 SQL Server 不允许远程连接可能会导致此失败. (provider: 命名管道提供程序, error: 0 - 管道的另一端上无任何进程. 刚开始以为是远程数据库的问题,试了一下,同事的机器能连上.说明是我本机问题了,然后连接本地数据库,也报同样的错误. 参考 http://friendship517.blog.163.c

【实战】一次艰难的入侵提权,成功拿下服务器

前言:这是在51CTO的第10篇文章,给大家来点给力的哈~这次的入侵检测在提权反弹连接上遇到了很多问题,让窝娓娓道来. Let's Go! 一,对目标网站的信息收集. http://www.XXXXX.cn  IP:122.225.XX.XXX [浙江省嘉兴市 电信] Server OS : Microsoft Windows NT 5.2.3790 Service Pack 2(xp || win server 03 sp1 or sp2)        Server Software : M

【闪存虚拟化】软件定义服务器闪存

作者:范军 (Frank Fan)新浪微博:@frankfan7  Twitter:@franfan7 面临挑战 在与客户和存储厂商讨论虚拟化平台上的存储性能设计时,我们经常经常面临诸多挑战. 一存储在虚拟化平台中承担着多重的角色.比如满足存储容量的需求(Capacity),满足应用应能的需求(Latency, IOPS,Throughput),还要满足存储服务的需求(Snapshot,replication,backup ).既要满足容量,还要保证性能.那么必然要采用高性能的RAID,高速硬盘

将本地Java程序部署到linux服务器并执行

需求:将本地Java程序部署到linux服务器并执行,首先要将本地Java程序打成jar包,然后拷贝到服务器后运行java -jar xx.jar 问题:该程序本地运行正常,服务端运行报错找不到第三方包中的类 原因:本地打jar包时有错,未能正确引入第三方包 解决:本地通过fat jar插件来打包,方法如下 在Eclipse 下 java 应用程序打包 Mainfest.mf 格式 首先保证程序在Eclipse下的正常执行,然后方法如下: ( 写在最前面 做好的Eclipse打包 还是使用插件

Bootstrap做的HTML页面在本地IE打开正常,放到服务器上显示就不正常了

<meta name="renderer" content="webkit"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> 浏览器默认开启兼容模式的问题,很多CSS3内容不支持,一般输入上面两行代码可以解决 作者:hu Hua链接:http://www.zhihu.com/question/24674452/answer/28658889来

【转载】SQLServer 2012 已成功与服务器建立连接,但是在登录前的握手期间发生错误。 (provider: SSL Provider, error: 0 - 等待的操作过时

楼主用SQL Server 2012 在连接其他电脑的实例时,一直提示“已成功与服务器建立连接,但是在登录前的握手期间发生错误. (provider: SSL Provider, error: 0 - 等待的操作过时.” Google了很多资料,综合自己的问题,并参照官方问题介绍:http://support.microsoft.com/kb/2568167 和另外一位仁兄的博客http://blog.sina.com.cn/s/blog_728bc6a1010182ai.html整理解决方法如

vs 或 Sql server2012连接Sql server时出现的问题:已成功与服务器建立连接,但在登陆过程中发生错误

以前连接是正常的,就这两天连不上了.(没有耐心的直接看末尾解决办法) 错误消息如下: 1.尝试读取或写入受保护的内存.这通常指示其他内存已损坏.(System.Data) 2.已成功与服务器建立连接,但在登陆过程中发生错误.(provider:SSL Provider,error:0-接收到的消息异常,或格式不正确.)(Microsoft SQL Server) 然后就Management崩溃了. 没办法,那就使用vs当中的服务器资源管理器连接吧,结果可想而知,其中vs版本2008,2010,2

【转】SQL Server -- 已成功与服务器建立连接,但是在登录过程中发生错误

SQL Server -- 已成功与服务器建立连接,但是在登录过程中发生错误 最近在VS2013上连接远程数据库时,突然连接不上,在跑MSTest下跑的时候,QTAgent32 crash.换成IIS下运行的时候,IIS crash.之前的连接是没问题的,后网上找了资料,根据牛人所说的方案解决了. 1. Exception message 已成功与服务器建立连接,但是在登录过程中发生错误. (provider: SSL Provider, error: 0 - 接收到的消息异常,或格式不正确.)

SQL Server 2005 sa登录失败。已成功与服务器建立连接 但是在登录过程中发生错误。 provider 共享内存提供程序 error 0 管道的另一端上无任何进程。

SQL Server 2005 Express版 用户 'sa' 登录失败.该用户与可信 SQL Server 连接无关联.提示错误:已成功与服务器建立连接 但是在登录过程中发生错误. provider 共享内存提供程序 error 0 管道的另一端上无任何进程. 解决方案: 1.首先选中服务器(右键)->属性->安全性->服务器身份验证修改为"SQL SERVER和WINDOWS身份验证模式"2.其次展开服务器下面的"安全性"文件夹->登陆

SQLServer 2012 已成功与服务器建立连接,但是在登录前的握手期间发生错误。 (provider: SSL Provider, error: 0 - 等待的操作过时。

楼主用SQL Server 2012 在连接其他电脑的实例时,一直提示“已成功与服务器建立连接,但是在登录前的握手期间发生错误. (provider: SSL Provider, error: 0 - 等待的操作过时.” Google了很多资料,综合自己的问题,并参照官方问题介绍:http://support.microsoft.com/kb/2568167 和另外一位仁兄的博客http://blog.sina.com.cn/s/blog_728bc6a1010182ai.html整理解决方法如