java文件传输,java文件传输文件大小一致但图片不完整

本文目录一览:

用Java实现在两台电脑之间的文件传输

使用Socket可以做到,不过直接编程一般都是在局域网内,如果要在不同局域网间通信,需要使用一台有公网IP的服务器,可以电脑A和电脑B同时连接服务器,然后A向服务器传递文件,服务器再将文件转发电脑B。也可以使用打洞的方式使A、B互联,此时服务器的作用是辅助打洞。A、B向服务器发送信息后socket不要关闭(假设使用10989端口),同时使用Serversocket绑定监听相同的端口(监听10989端口)。在java中有参数可以做到,具体方法请自行百度。服务器获取到A、B的外网地址和端口,将A的外网地址信息发送给B、将B的外网地址信息发送给A。然后使用A没有关闭的Socket向B发送一组信息(此时连接会失败,但是B的路由表上已经记录了A的信息),发送后A向服务器发送消息,服务器告诉B A已经发送消息。然后B使用未关闭的socket向A发送消息,就和A上监听的ServerSocket取得连接了。之后就可以互相传递数据。

java怎么把文件传输到服务器

String realpath = ServletActionContext.getServletContext().getRealPath(“/upload”) ;//获取服务器路径

String[] targetFileName = uploadFileName;

for (int i = 0; i upload.length; i++) {

File target = new File(realpath, targetFileName[i]);

FileUtils.copyFile(upload[i], target);

//这是一个文件复制类copyFile()里面就是IO操作,如果你不用这个类也可以自己写一个IO复制文件的类

}

其中private File[] upload;// 实际上传文件

private String[] uploadContentType; // 文件的内容类型

private String[] uploadFileName; // 上传文件名

这三个参数必须这样命名,因为文件上传控件默认是封装了这3个参数的,且在action里面他们应有get,set方法

java中怎样上传文件

Java代码实现文件上传

FormFile file=manform.getFile(); 

  String newfileName = null;

  String newpathname=null;

  String fileAddre=”/numUp”;

  try {

   InputStream stream = file.getInputStream();// 把文件读入

    String filePath = request.getRealPath(fileAddre);//取系统当前路径

          File file1 = new File(filePath);//添加了自动创建目录的功能

       ((File) file1).mkdir();   

    newfileName = System.currentTimeMillis()

     + file.getFileName().substring(

       file.getFileName().lastIndexOf(‘.’));

   ByteArrayOutputStream baos = new ByteArrayOutputStream();

   OutputStream bos = new FileOutputStream(filePath + “/”

     + newfileName);

   newpathname=filePath+”/”+newfileName;

   System.out.println(newpathname);

   // 建立一个上传文件的输出流

    System.out.println(filePath+”/”+file.getFileName());

   int bytesRead = 0;

   byte[] buffer = new byte[8192];

   while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {

    bos.write(buffer, 0, bytesRead);// 将文件写入服务器

   }

   bos.close();

   stream.close();

    } catch (FileNotFoundException e) {

   e.printStackTrace();

  } catch (IOException e) {

   e.printStackTrace();

  }

java如何实现文件上传

public static int transFile(InputStream in, OutputStream out, int fileSize) {

int receiveLen = 0;

final int bufSize = 1000;

try {

byte[] buf = new byte[bufSize];

int len = 0;

while(fileSize – receiveLen bufSize)

{

len = in.read(buf);

out.write(buf, 0, len);

out.flush();

receiveLen += len;

System.out.println(len);

}

while(receiveLen fileSize)

{

len = in.read(buf, 0, fileSize – receiveLen);

System.out.println(len);

out.write(buf, 0, len);

receiveLen += len;

out.flush();

}

} catch (IOException e) {

// TODO 自动生成 catch 块

e.printStackTrace();

}

return receiveLen;

}

这个方法从InputStream中读取内容,写到OutputStream中。

那么发送文件方,InputStream就是FileInputStream,OutputStream就是Socket.getOutputStream.

接受文件方,InputStream就是Socket.getInputStream,OutputStream就是FileOutputStream。

就OK了。 至于存到数据库里嘛,Oracle里用Blob。搜索一下,也是一样的。从Blob能获取一个输出流。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/155342.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-17 02:39
下一篇 2024-11-17 02:39

相关推荐

  • 用Python绘制酷炫图片

    在本篇文章中,我们将展示如何使用Python绘制酷炫的图片。 一、安装Python绘图库 在使用Python绘制图片之前,我们需要先安装Python绘图库。Python有很多绘图库…

    编程 2025-04-29
  • 使用axios获取返回图片

    使用axios获取返回图片是Web开发中很常见的需求。本文将介绍如何使用axios获取返回图片,并从多个方面进行详细阐述。 一、安装axios 使用axios获取返回图片前,首先需…

    编程 2025-04-29
  • Python 图片转表格

    本文将详细介绍如何使用Python将图片转为表格。大家平时在处理一些资料的时候难免会遇到图片转表格的需求。比如从PDF文档中提取表格等场景。当然,这个功能也可以通过手动复制、粘贴,…

    编程 2025-04-29
  • Python缓存图片的处理方式

    本文将从多个方面详细阐述Python缓存图片的处理方式,包括缓存原理、缓存框架、缓存策略、缓存更新和缓存清除等方面。 一、缓存原理 缓存是一种提高应用程序性能的技术,在网络应用中流…

    编程 2025-04-29
  • Python如何抓取图片数据

    Python是一门强大的编程语言,能够轻松地进行各种数据抓取与处理。抓取图片数据是一个非常常见的需求。在这篇文章中,我们将从多个方面介绍Python如何抓取图片数据。 一、使用ur…

    编程 2025-04-29
  • Python利用Image加图片的方法

    在Python中,利用Image库可以快速处理图片,并加入需要的图片,本文将从多个方面详细阐述这个操作。 一、Image库的安装和基础操作 首先,我们需要在Python中安装Ima…

    编程 2025-04-28
  • Avue中如何按照后端返回的链接显示图片

    Avue是一款基于Vue.js、Element-ui等技术栈的可视化开发框架,能够轻松搭建前端页面。在开发中,我们使用到的图片通常都是存储在后端服务器上的,那么如何使用Avue来展…

    编程 2025-04-28
  • 使用CKSlide实现图片轮播

    CKSlide是一个基于jQuery的插件,可以方便地为网页添加幻灯片和图片轮播效果。使用CKSlide可以让网站更加生动、活泼,给用户带来更好的体验。 一、CKSlide基本用法…

    编程 2025-04-28
  • Python中使用socket传输图片

    本文将从多个方面介绍如何使用Python中的socket模块传输图片,涉及到准备工作、发送方部分和接收方部分的详细代码实现。 一、准备工作 在使用Python中的socket模块进…

    编程 2025-04-28
  • Python窗口中导入图片

    Python作为一种高级语言,在图形界面的应用和操作方面越来越得心应手。本篇文章将详细阐述Python窗口中导入图片的方法和实现。 一、导入图片的准备工作 在导入图片前,我们需要先…

    编程 2025-04-28

发表回复

登录后才能评论