我想将原来图片保存在本地功能改成保存到服务器上,怎么实现?

我想将原来图片保存在本地功能改成保存到服务器上

String filename = "D:\\ScenePics\\Plate20210416165034669.jpg";

这个路径改写成网络地址

http:\\8.140.107.161\\ScenePics\\Plate20210416165034669.jpg;
SimpleDateFormat sf = new SimpleDateFormat("yyyyMMddHHmmss");
                            String newName = sf.format(new Date());
                            FileOutputStream fout;
                            try {
//                                String filename = ".\\pic\\"+ new String(pAlarmer.sDeviceIP).trim() + "_"
//                                        + newName+"_type["+strItsPlateResult.struPicInfo[i].byType+"]_ItsPlate.jpg";
                                String filename = "D:\\ScenePics\\Plate20210416165034669.jpg";
                                fout = new FileOutputStream(filename);
                                //将字节写入文件
                                long offset = 0;
                                ByteBuffer buffers = strItsPlateResult.struPicInfo[i].pBuffer.getByteBuffer(offset, strItsPlateResult.struPicInfo[i].dwDataLen);
                                byte [] bytes = new byte[strItsPlateResult.struPicInfo[i].dwDataLen];
                                buffers.rewind();
                                buffers.get(bytes);
                                fout.write(bytes);
                                fout.close();
                            } catch (FileNotFoundException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            } catch (IOException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            }
阅读 2.3k
3 个回答

首先,不可以通过http协议直接将流写入到网络位置。需要遵守协议的格式。
可以在服务器上开启一个接口,接受你要上传的图片,然后再使用POST请求等,向这个接口发送图片二进制。
也可以使用FTP协议直接上传。
总之使用网络传输数据必须要遵守双方约定好的协议喔。(о´∀`о)

你把项目部署到服务器不就是存在服务器吗?

新手上路,请多包涵

根据你的工程运行环境可以分为两种方案:

1、工程可以部署8.140.107.161服务器上:

  • 那就是简单的将filename变量修改为该服务器上存放图片路径
  • 注意:对存放路径的权限管理

2、工程部署在其他位置:

  • 需要在已有代码基础上再实现一个文件上传的功能,例如采用ftp协议将文件上传到http:\8.140.107.161指定位置
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题