精华内容
下载资源
问答
  • java 利用http发送文件

    千次阅读 2019-07-23 16:58:22
    发送方: import java.io.BufferedReader; import java.io.File; import java.io.InputStream; import java.io.InputStreamReader; import java.sql.SQLOutput; import java.text.ParseException; import java....

    发送方:

    
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.sql.SQLOutput;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    
    import com.alibaba.fastjson.JSONObject;
    import net.sf.saxon.SourceResolver;
    import net.sf.saxon.instruct.ForEach;
    import org.apache.commons.httpclient.Header;
    import org.apache.commons.httpclient.HttpClient;
    import org.apache.commons.httpclient.HttpStatus;
    import org.apache.commons.httpclient.methods.PostMethod;
    import org.apache.commons.httpclient.methods.multipart.FilePart;
    import org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity;
    import org.apache.commons.httpclient.methods.multipart.Part;
    
    /**
     *发送日志文件工具类
     */
    public class SendLogsUtils {
    
    
        /**
         * 发送日志文件方法
         * @param url 接收文件接口连接
         * @param file  发送文件
         */
        public static void sendFile(String url, File file) {
            if (file.exists()) {
                HttpClient client = new HttpClient();
                PostMethod postMethod = new PostMethod(url);
            
                try {
                    // FilePart:用来上传文件的类,file即要上传的文件
                    FilePart fp = new FilePart("file", file);
                    Part[] parts = { fp };
    
                    // 对于MIME类型的请求,httpclient建议全用MulitPartRequestEntity进行包装
                    MultipartRequestEntity mre = new MultipartRequestEntity(parts, postMethod.getParams());
                    postMethod.setRequestEntity(mre);
                    // 由于要上传的文件可能比较大 , 因此在此设置最大的连接超时时间
                    client.getHttpConnectionManager().getParams() .setConnectionTimeout(50000);
    
                    int status = client.executeMethod(postMethod);
                    if (status == HttpStatus.SC_OK) {
    
                        // 获取返回数据
                        InputStream inputStream = postMethod.getResponseBodyAsStream();
                        BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
                        StringBuffer stringBuffer = new StringBuffer();
                        String str = "";
                        // 遍历返回数据
                        while ((str = br.readLine()) != null) {
                            stringBuffer.append(str);
                        }
    
                        String body = stringBuffer.toString();
                          
                    }
                } catch (Exception e) {
                    e.printStackTrace();
    
                } finally {
                    // 释放连接
                    postMethod.releaseConnection();
                }
            }
        }
    
    }
    

     

    接收方:

    
    import java.io.*;
    import java.util.*;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import cn.luckyhealthcare.platform.service.LkMachineService;
    import cn.luckyhealthcare.platform.service.dto.LkMachineDTO;
    import net.sf.json.JSONObject;
    
    import org.apache.commons.fileupload.FileItem;
    import org.apache.commons.fileupload.disk.DiskFileItemFactory;
    import org.apache.commons.fileupload.servlet.ServletFileUpload;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.*;
    import org.springframework.web.multipart.MultipartFile;
    import org.springframework.web.multipart.MultipartHttpServletRequest;
    import org.springframework.web.multipart.commons.CommonsMultipartResolver;
    
    /**
     * 日志同步接收端控制器
     */
    @RestController
    @RequestMapping("/api")
    public class SyncLogsResource {
    
    
        private static final long serialVersionUID = -5865227624891447594L;
    
    
        /**
         * 接收日志文件方法
         * @param request
         * @param response
         * @param code
         * @throws Exception
         */
        @RequestMapping(consumes = "multipart/form-data",value ="file/receive",method = RequestMethod.POST)
        @ResponseBody
        public  void receive(HttpServletRequest request, HttpServletResponse response) throws Exception {
            JSONObject jsonObject = new JSONObject();
            boolean success = false;
            
            // 将当前上下文初始化给 CommonsMutipartResolver (多部分解析器)
            CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
            // 检查form中是否有enctype="multipart/form-data"
            if (multipartResolver.isMultipart(request) && mach.isPresent()) {
                // 将request变成多部分request
                MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
                // 获取multiRequest 中所有的文件名
                Iterator<String> iter = multiRequest.getFileNames();
    
                while (iter.hasNext()) {
                    // 一次遍历所有文件
                    MultipartFile file = multiRequest.getFile(iter.next().toString());
                    if (file != null) {
                        String originalFilename = file.getOriginalFilename();
                        // 定义绝对路径
                        String localPath = "d:/test/";
                        File path = new File(localPath);
                        // 文件夹不存在 则创建文件夹
                        if (!path.exists()) {
                            path.mkdirs();
                        }
                        String filepath = localPath +File.separator+ file.getOriginalFilename();
                        File file1 = new File(filepath);
                        if(file1.exists()){
                            file1.delete();
                        }
                        // 文件数据存储起来
                        file.transferTo(file1);
                        success = true;
                    }
                }
    
            }
            jsonObject.put("success",success);
            response.getWriter().println(jsonObject.toString());
        }
    
    }
    

     

    展开全文
  • 本文通过实例代码给大家介绍了Java 发送http请求上传文件功能,需要的朋友参考下吧
  • Java 发送http请求,上传文件

    千次阅读 2017-06-06 20:41:49
    Java 发送http请求,post 上传文件
    package wxapi.WxHelper;
    
    import java.io.BufferedReader;
    import java.io.DataInputStream;
    import java.io.DataOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.net.URLConnection;
    import java.util.Date;
    import java.util.Map;
    import java.util.Map.Entry;
    
    public class HttpRequestUtil {
    
    	/**
    	 * 发送get请求
    	 * 
    	 * @param requestUrl
    	 *            请求url
    	 * @param requestHeader
    	 *            请求头
    	 * @param responseEncoding
    	 *            响应编码
    	 * @return 页面响应html
    	 */
    	public static String sendGet(String requestUrl, Map<String, String> requestHeader, String responseEncoding) {
    		String result = "";
    		BufferedReader reader = null;
    		try {
    			if (requestUrl == null || requestUrl.isEmpty()) {
    				return result;
    			}
    			URL realUrl = new URL(requestUrl);
    			URLConnection connection = realUrl.openConnection();
    			connection.setRequestProperty("accept", "text/html, application/xhtml+xml, image/jxr, */*");
    			connection.setRequestProperty("user-agent", "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0");
    			if (requestHeader != null && requestHeader.size() > 0) {
    				for (Entry<String, String> entry : requestHeader.entrySet()) {
    					connection.setRequestProperty(entry.getKey(), entry.getValue());
    				}
    			}
    			connection.connect();
    			if (responseEncoding == null || responseEncoding.isEmpty()) {
    				responseEncoding = "UTF-8";
    			}
    			reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), responseEncoding));
    			String line;
    			while ((line = reader.readLine()) != null) {
    				result += line;
    			}
    		} catch (Exception e) {
    			System.out.println("发送GET请求出现异常!");
    			e.printStackTrace();
    		} finally {
    			try {
    				if (reader != null) {
    					reader.close();
    				}
    			} catch (Exception e) {
    				e.printStackTrace();
    			}
    		}
    		return result;
    	}
    
    	/**
    	 * 发送post请求
    	 * 
    	 * @param requestUrl
    	 *            请求url
    	 * @param requestHeader
    	 *            请求头
    	 * @param formTexts
    	 *            表单数据
    	 * @param files
    	 *            上传文件
    	 * @param requestEncoding
    	 *            请求编码
    	 * @param responseEncoding
    	 *            响应编码
    	 * @return 页面响应html
    	 */
    	public static String sendPost(String requestUrl, Map<String, String> requestHeader, Map<String, String> formTexts, Map<String, String> files, String requestEncoding, String responseEncoding) {
    		OutputStream out = null;
    		BufferedReader reader = null;
    		String result = "";
    		try {
    			if (requestUrl == null || requestUrl.isEmpty()) {
    				return result;
    			}
    			URL realUrl = new URL(requestUrl);
    			HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection();
    			connection.setRequestProperty("accept", "text/html, application/xhtml+xml, image/jxr, */*");
    			connection.setRequestProperty("user-agent", "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0");
    			if (requestHeader != null && requestHeader.size() > 0) {
    				for (Entry<String, String> entry : requestHeader.entrySet()) {
    					connection.setRequestProperty(entry.getKey(), entry.getValue());
    				}
    			}
    			connection.setDoOutput(true);
    			connection.setDoInput(true);
    			connection.setRequestMethod("POST");
    			if (requestEncoding == null || requestEncoding.isEmpty()) {
    				requestEncoding = "UTF-8";
    			}
    			if (responseEncoding == null || responseEncoding.isEmpty()) {
    				responseEncoding = "UTF-8";
    			}
    			if (requestHeader != null && requestHeader.size() > 0) {
    				for (Entry<String, String> entry : requestHeader.entrySet()) {
    					connection.setRequestProperty(entry.getKey(), entry.getValue());
    				}
    			}
    			if (files == null || files.size() == 0) {
    				connection.setRequestProperty("content-type", "application/x-www-form-urlencoded");
    				out = new DataOutputStream(connection.getOutputStream());
    				if (formTexts != null && formTexts.size() > 0) {
    					String formData = "";
    					for (Entry<String, String> entry : formTexts.entrySet()) {
    						formData += entry.getKey() + "=" + entry.getValue() + "&";
    					}
    					formData = formData.substring(0, formData.length() - 1);
    					out.write(formData.toString().getBytes(requestEncoding));
    				}
    			} else {
    				String boundary = "-----------------------------" + String.valueOf(new Date().getTime());
    				connection.setRequestProperty("content-type", "multipart/form-data; boundary=" + boundary);
    				out = new DataOutputStream(connection.getOutputStream());
    				if (formTexts != null && formTexts.size() > 0) {
    					StringBuilder sbFormData = new StringBuilder();
    					for (Entry<String, String> entry : formTexts.entrySet()) {
    						sbFormData.append("--" + boundary + "\r\n");
    						sbFormData.append("Content-Disposition: form-data; name=\"" + entry.getKey() + "\"\r\n\r\n");
    						sbFormData.append(entry.getValue() + "\r\n");
    					}
    					out.write(sbFormData.toString().getBytes(requestEncoding));
    				}
    				for (Entry<String, String> entry : files.entrySet()) {
    					String fileName = entry.getKey();
    					String filePath = entry.getValue();
    					if (fileName == null || fileName.isEmpty() || filePath == null || filePath.isEmpty()) {
    						continue;
    					}
    					File file = new File(filePath);
    					if (!file.exists()) {
    						continue;
    					}
    					out.write(("--" + boundary + "\r\n").getBytes(requestEncoding));
    					out.write(("Content-Disposition: form-data; name=\"" + fileName + "\"; filename=\"" + file.getName() + "\"\r\n").getBytes(requestEncoding));
    					out.write(("Content-Type: application/x-msdownload\r\n\r\n").getBytes(requestEncoding));
    					DataInputStream in = new DataInputStream(new FileInputStream(file));
    					int bytes = 0;
    					byte[] bufferOut = new byte[1024];
    					while ((bytes = in.read(bufferOut)) != -1) {
    						out.write(bufferOut, 0, bytes);
    					}
    					in.close();
    					out.write(("\r\n").getBytes(requestEncoding));
    				}
    				//out.write(("--" + boundary + "--").getBytes(requestEncoding));这样写微信公众号开发上传素材有问题
                                    out.write(("--" + boundary + "--\r\n").getBytes(requestEncoding));
    			}
    			out.flush();
    			out.close();
    			out = null;
    			reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), responseEncoding));
    			String line;
    			while ((line = reader.readLine()) != null) {
    				result += line;
    			}
    		} catch (Exception e) {
    			System.out.println("发送POST请求出现异常!");
    			e.printStackTrace();
    		} finally {
    			try {
    				if (out != null) {
    					out.close();
    				}
    				if (reader != null) {
    					reader.close();
    				}
    			} catch (IOException ex) {
    				ex.printStackTrace();
    			}
    		}
    		return result;
    	}
    }
    

    展开全文
  • 利用JAVA实现的局域网聊天室,可以同时进行聊天和发送文件发送文件大小没有限制,任意发送在聊天室中的成员。使用了UDP和TCP通信,以及多线程,对于想了解UDP和TCP通信的新同学来说有一定的借鉴意义。
  • java实现手机发送信息功能 wsdl文件

    热门讨论 2010-08-19 11:07:27
    wsdl文件主要是用于实现java实现手机发送信息功能的文件。也就是我们所说的webservice
  • java文件p2p传输

    热门讨论 2012-11-03 16:38:51
    java模仿电驴、迅雷实现多线程文件传输,可用于局域网或internet文件传输发送,程序采用套接字实现p2p(即点到点)文件传输。
  • Java发送Post请求上传文件

    万次阅读 2017-08-27 17:06:41
    如果要想知道java同时上传多个文件和多个内容的步骤,请看我另一篇文章JAVA上传多个文件和多个内容方法 1.JSP中相关代码 form id="uploadForm" enctype="multipart/form-data"> p >...

      本来我们已经有了一个上传文件的接口,但是那个接口并不能直接由app端调用,所以才写了一个单独的接口,在该接口中又调用了那个上传文件的接口。

    如果要想知道java同时上传多个文件和多个内容的步骤,请看我另一篇文章JAVA上传多个文件和多个内容方法

    1.JSP中相关代码

    <form id="uploadForm" enctype="multipart/form-data">
      <p >上传文件: <input type="file" name="file"/></p>
      <input type="button" value="上传" onclick="doUpload()" />
    </form>

    2.JS中相关代码

    function doUpload() {
         var formData = new FormData($("#uploadForm")[0]);
         $.ajax({
         url: 'http://localhost:32003/app/uploadFile',
         type: 'POST',
         data: formData,
         async: false,
         cache: false,
         contentType: false,
         processData: false,
         success: function (returndata) {
             alert(returndata);
         },
         error: function (returndata) {
             alert(returndata);
         }
         });
     }

    3.JAVA中相关代码

    package microservice.fpzj.control.app;
    
    import microservice.fpzj.control.base.BaseController;
    import org.springframework.web.bind.annotation.*;
    import org.springframework.web.multipart.MultipartFile;
    import org.springframework.web.multipart.MultipartHttpServletRequest;
    import javax.servlet.http.HttpServletRequest;
    import java.io.*;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.util.List;
    
    /**
     * Created by lsf on 2017/8/26.
     */
    @RestController
    @RequestMapping("/app")
    public class AppUploadController extends BaseController{
        String uploadUrl="http://212.134.143.32:30009/upload/ajax/upload_file";
    @CrossOrigin
    @RequestMapping(value= "/uploadFile" ,method= RequestMethod.POST )
        public Object checkUserIsExist(HttpServletRequest request){
            String result="";
            MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
            List<MultipartFile> fileList = multipartRequest.getFiles("file");
            if(fileList == null || fileList.size() == 0){
                return addResultMapMsg(false,"请上传文件,注意文件的name属性为file");
            }
            MultipartFile file = fileList.get(0);
            try {
    
                // 换行符
                final String newLine = "\r\n";
                final String boundaryPrefix = "--";
                // 定义数据分隔线
                String BOUNDARY = "========7d4a6d158c9";
                // 服务器的域名
                URL url = new URL(uploadUrl);
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                // 设置为POST情
                conn.setRequestMethod("POST");
                // 发送POST请求必须设置如下两行
                conn.setDoOutput(true);
                conn.setDoInput(true);
                conn.setUseCaches(false);
                // 设置请求头参数
                conn.setRequestProperty("connection", "Keep-Alive");
                conn.setRequestProperty("Charset", "UTF-8");
                conn.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + BOUNDARY);
    
                OutputStream out = new DataOutputStream(conn.getOutputStream());
    
                // 上传文件
    
                StringBuilder sb = new StringBuilder();
                sb.append(boundaryPrefix);
                sb.append(BOUNDARY);
                sb.append(newLine);
                // 文件参数,photo参数名可以随意修改
                sb.append("Content-Disposition: form-data;name=\"photo\";filename=\"" + file.getOriginalFilename()
                        + "\"" + newLine);
                sb.append("Content-Type:application/octet-stream");
                // 参数头设置完以后需要两个换行,然后才是参数内容
                sb.append(newLine);
                sb.append(newLine);
    
                // 将参数头的数据写入到输出流中
                out.write(sb.toString().getBytes());
    
                // 数据输入流,用于读取文件数据
                DataInputStream in = new DataInputStream(file.getInputStream());
                byte[] bufferOut = new byte[1024*8];
                int bytes = 0;
                // 每次读8KB数据,并且将文件数据写入到输出流中
                while ((bytes = in.read(bufferOut)) != -1) {
                    out.write(bufferOut, 0, bytes);
                }
                // 最后添加换行
                out.write(newLine.getBytes());
                in.close();
    
                // 定义最后数据分隔线,即--加上BOUNDARY再加上--。
                byte[] end_data = (newLine + boundaryPrefix + BOUNDARY + boundaryPrefix + newLine)
                        .getBytes();
                // 写上结尾标识
                out.write(end_data);
                out.flush();
                out.close();
    
                // 定义BufferedReader输入流来读取URL的响应
    
    BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
                String line = null;
                while ((line = reader.readLine()) != null) {
                    result += line; //这里读取的是上边url对应的上传文件接口的返回值,读取出来后,然后接着返回到前端,实现接口中调用接口的方式
                }
            } catch (Exception e) {
                System.out.println("发送POST请求出现异常!" + e);
                e.printStackTrace();
            }
            return result;
        }
    }
    

    4.最后

    接口已经测试通过,直接复制代码即可,注意请求体中的内容不要修改,固定的格式,我并没有研究过这个,也是用的别人的方式。

    展开全文
  • java 发送上传文件的 http put 请求

    千次阅读 2019-05-15 18:39:41
    public static CloseableHttpResponse putFilesWithHeader(String url,JSONObject requestJson,Map<String, String> header ,File... files) { CloseableHttpResponse execute = null; ...
    public static CloseableHttpResponse putFilesWithHeader(String url,JSONObject requestJson,Map<String, String> header ,File... files) {
        CloseableHttpResponse execute = null;
    
        HttpPut httpPut = new HttpPut(url);
        String responseStr = null;
        if (header != null) {
            for (Map.Entry<String, String> entry : header.entrySet()) {
                httpPut.setHeader(entry.getKey(),entry.getValue());
            }
        }
        MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder.create().setCharset(Charset.forName("UTF-8"));
        for (File file : files) {
            multipartEntityBuilder.addBinaryBody("facePic", file);
        }
        Set<Map.Entry<String, Object>> entries = requestJson.entrySet();
        for (Map.Entry<String, Object> requestParam : entries ) {
            multipartEntityBuilder.addTextBody(requestParam.getKey(),(String) requestParam.getValue());
        }
        HttpEntity entiy = multipartEntityBuilder.build();
        httpPut.setEntity(entiy);
        CloseableHttpClient  closeableHttpClient = HttpClients.createDefault();
        try {
              execute = closeableHttpClient.execute(httpPut);
        } catch (Exception e) {
            e.printStackTrace();
        }
           return  execute;
    
    
    }
    展开全文
  • java聊天程序 发送表情,文件

    热门讨论 2010-06-15 21:19:39
    java编写的一个c/s的聊天程序,程序具有局域网搜索,发送文件,查看聊天记录,发送表情等功能,还带有文档
  • java socket客户端往服务器端发送文件包括二进制文件word文件, 请问文件传输的通讯协议该如何定义,不知道怎么自定义通讯协议。 我所说的发送文件是指多个文件,不是简单的一个文件。我想要的是自定义协议,...
  • Java以post请求发送文件或json数据

    千次阅读 2019-05-17 21:50:11
    分别给出了post发送文件和json数据的函数,其中使用到了Jackson库来转化Json数据,使用log4j2来打印日记,可自行剔除。 public class HttpUtils { static private ObjectMapper objectMapper=new ObjectMapper(); ...
  • java压缩文件并加密,发送到邮箱

    千次阅读 2018-06-28 16:53:16
    日常记录目标,我们需要把文件进行压缩 并进行加密设置密码,并发送到指定的邮箱,这是需求 首先把工具类贴出来我们需要导入一个jar包 winzipaes-1.0.1.jar上传了一下,告诉已经存在了所以,有看到的去找下吧, ...
  • 最近学习了通过Java Mail库进行邮件发送,参考了不少资料,自己总结一下Java Mail的使用,大概从以下三个方面进行描述,本例子使用QQ邮箱作为邮件服务器: 1. 配置邮件会话(session) 2. 配置简单文本邮件消息...
  • ajax实现java文件下载

    热门讨论 2011-05-12 15:48:16
    用ajax实现的java文件打包下载。可以输入扩展名选择文件下载。
  • 说明:1、本程序可实现网页文件、普通文件发送。 2、实现邮件发送需要三个jar包的支持:commons-codec-1.3.jar、commons-httpclient-3.0.jar(这两个jar包实现抓取互联网网页内容)以及mail.jar 具体实
  • 基本思路是: C++扫描目录下存在多少个文件,先发送文件的数目,然后循环发送每个文件发送每个文件的时候,先发送文件名和文件大小,收到确认回复后再发送文件数据。 C++客户端代码: #include...
  • Java以邮件附件的方式发送excel文件

    千次阅读 2019-05-16 14:40:51
    思路:Java创建Excel,返回一个ByteArrayOutputStream 流 ==> sendEmail()接受ByteArrayOutputStream 流以附件的形式发送出去 创建Excel表格: public class CreatExcel { public static ...
  • JAVA公聊 私聊 现在在线用户加头像 发送文件
  • java文件传输接口

    千次阅读 2019-06-17 14:35:04
    第一种:如果图片比较小可以采用post方式将图片转成base64的码放在data域中,以字符串传参的方式发送到指定的接口取出其值(多个就采用数组)。这种一般试用与仅仅图片上传,且图片比较小大约10kbz左右太大了base64...
  • Java生成excel文件邮件发送给多个人

    千次阅读 2017-03-23 13:15:28
    Java使用poi生成excel文件通过javamail邮件发送给多个人
  • java聊天室(即时通讯)可发送文件

    热门讨论 2011-06-16 11:04:48
    网络聊天室,支持群聊私聊,文件发送等.包括服务器端与客户端,服务器端可进行监视,蛮不错的,适合初学者学习。
  • java基于socket的文件发送与接收,有界面,有进度条,没有bug,很好理解的
  • Java文件上传实现

    万次阅读 热门讨论 2018-08-01 15:00:25
    表单 action=上传文件后台接口 method=“post”enctype=“multipart/form-data” 文件输入框&lt;input type=”file”&gt; &lt;form action="/upload" method="post" enctype=&...
  • jsp 利用 javamail发送邮件(附带java web项目文件) 绝对可用
  • 基于JavaMail的Java邮件发送:简单邮件发送

    万次阅读 多人点赞 2016-06-14 21:56:35
    电子邮件的应用非常广泛,例如在某网站注册了一个账户,自动发送一封欢迎邮件,通过邮件找回密码,自动批量发送活动信息等。...本文将简单介绍如何通过 Java 代码来创建电子邮件,并连接邮件服务器发...
  • 在页面里实现上传文件不是什么难事,写个form,加上enctype = "multipart/form-data",在写个接收的就可以了,没什么难的,如果要用java.net.HttpURLConnection来实现文件上传,还真有点搞头.:-)  1.先写个servlet把...
  • Java 小例子:通过 Socket 发送和接收文件

    万次阅读 热门讨论 2009-03-04 08:44:00
    发送端向接收端发送文件名和文件内容,接收端将收到的文件保存在磁盘上。接收端可以同时接收多个发送端传来的文件,但没有处理文件同名的情况。这个例子中设计了一个简单的协议。发送的内容是这样的:文件名长度(4...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 600,920
精华内容 240,368
关键字:

如何发送java文件

java 订阅