`
zyadi1980
  • 浏览: 24771 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

模拟客户端IE上传文件

阅读更多

  URL preUrl = null;
  URLConnection uc = null;
  try {
   preUrl = new URL(http://127.0.0.1/seeyon/fileUpload+"&senderLoginName="+"zy");
   uc = preUrl.openConnection();
   HttpURLConnection hc = (HttpURLConnection) uc;
   hc.setDoOutput(true);
   hc.setUseCaches(false);
   hc.setRequestProperty("contentType", "charset=utf-8"); 
   hc.setRequestMethod("POST");
   BufferedInputStream  input=new BufferedInputStream(new FileInputStream("c:/test.doc"));
   String BOUNDARY = "---------------------------7d4a6d158c9"; // 分隔符
   String fileName="test.doc";
   StringBuffer sb = new StringBuffer();
   sb.append("--");
   sb.append(BOUNDARY);
   sb.append("\r\n");
   sb.append("Content-Disposition: form-data; \r\n name=\"1\"; filename=\""+fileName+"\"\r\n");
   sb.append("Content-Type: application/msword\r\n\r\n");
   
   hc.setRequestProperty("Content-Type",
     "multipart/form-data;boundary=" + "---------------------------7d4a6d158c9");
   byte[] end_data = ("\r\n--" + BOUNDARY + "--\r\n").getBytes();
   DataOutputStream dos = new DataOutputStream(hc.getOutputStream());
   dos.write(sb.toString().getBytes("utf-8"));   
   int cc=0;
   while((cc=input.read())!=-1)
   {
    dos.write(cc);
   }
   dos.write(end_data);
   dos.flush();
   dos.close();
   FileOutputStream file=new FileOutputStream("c:/1.txt");
   InputStream is = hc.getInputStream();
   int ch;
   while ((ch = is.read()) != -1) {
    file.write(ch);
   }
   if (is != null)
    is.close();
  }
  catch (MalformedURLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }

 

分享到:
评论

相关推荐

    多文件上传 C# 不兼容ie9

    在C#中,多文件上传通常涉及到服务器端的处理,例如使用ASP.NET MVC或Web API框架,以及客户端的JavaScript交互,如jQuery或纯JavaScript。 为了解决IE9的兼容性问题,开发者可能需要采取以下策略: 1. **回退机制...

    文件上传的activex控件

    此外,控制台工程则用于模拟客户端行为,验证文件上传逻辑的正确性。在实际部署时,ActiveX控件需要安装在用户的客户端计算机上,并确保其安全设置允许运行。 总结,文件上传的activex控件是早期网络应用中解决文件...

    ASP.NET jquery ajax无刷新上传文件demo

    在IE6这样的旧版浏览器中,由于不支持HTML5的File API,它会模拟进度条效果,尽管这并不是真正的上传进度,但仍然能够给予用户一定的反馈。 在描述中提到的 "无刷新上传 ashx处理" 指的是使用ASHX(HTTP Handler)...

    图片上传兼容IE

    7. 考虑服务器端兼容性:除了前端,服务器端也需要处理IE上传的文件。例如,IE可能会在文件名中添加额外的字符,如`C:\fakepath\`,服务器端需要正确解析和处理这种情况。 总之,实现图片上传兼容IE需要对不同...

    ASP.NET Ajax 带进度条文件上传示例

    在这个示例中,我们看到一个实现文件上传并带有进度条功能的解决方案,适用于IE8、Opera和Firefox等浏览器,而且是基于VS2010的项目。以下将详细讲解这个示例中的关键知识点: 1. **ASP.NET基础**:ASP.NET是由微软...

    页面加载中(遮罩层支持ajax、模拟查询、模拟保存、模拟导入、模拟隐藏、模拟刷新、全屏遮罩、兼容ie、谷歌、火狐等浏览器)2016.09.13.zip

    模拟导入可能是在文件上传前展示预览和进度,提高用户感知;模拟隐藏和刷新则是对页面元素的动态控制,使得页面状态更加流畅。 4. **全屏遮罩**:全屏遮罩是指遮罩层覆盖整个屏幕,而非仅覆盖特定区域。它在需要...

    百度UEDITOR 内网上传视频支持IE8的方法

    1. **使用ActiveX控件**:由于IE8不支持HTML5的File API,我们可以利用ActiveX技术来模拟文件上传。在服务器端创建一个ActiveX控件,通过这个控件与客户端进行文件交互,从而实现视频上传。 2. **Flash插件**:另一...

    ajax文件上传

    1. **IFrame模拟上传**:由于IE8不支持`FormData`和`XMLHttpRequest2`,我们可以利用IFrame创建一个隐藏的表单,将文件输入字段添加到这个表单中,然后提交表单到服务器。IFrame的`contentDocument`或`contentWindow...

    js上传前预览图片,兼容IE,firefox,google

    另一种方法是使用`ActiveXObject`,创建一个`Microsoft.XMLHTTP`对象,模拟Ajax请求来读取文件内容,然后转换成Base64编码用于显示。 4. **图片大小限制**:为了防止用户上传过大的图片导致页面卡顿,可以在读取...

    2014-5-6更新 兼容ie[6-9]、火狐、Chrome、opera、maxthon3、360浏览器的js本地图片预览

    这个资源可能包含了一段JavaScript代码,通过模拟File API的功能来读取选定的图片文件,并将其显示在页面上。这通常涉及到使用`ActiveXObject`(IE特有的对象)或者`FileReader`接口(在现代浏览器中使用)来读取...

    为 KindEditor 实现图片上传

    KindEditor 是一款开源的富文本编辑器,常用于网页中提供文本编辑功能,它支持多种浏览器环境,包括 Chrome、Firefox、Safari、IE6+ 等。在使用 KindEditor 进行文本编辑时,一个常见的需求是实现图片上传功能,以便...

    javascript 上传图片预览效果

    `CJL.0.1.min.js`和`QuickUpload.js`可能是一些辅助库,用于解决跨浏览器兼容性问题,提供额外的功能,比如模拟拖放上传、多文件上传等。 总的来说,实现JavaScript上传图片预览效果需要结合HTML、CSS和JavaScript...

    Python selenium使用autoIT上传附件过程详解

    不同浏览器如IE、Chrome、Firefox的文件上传控件可能会有不同的表现,因此在编写AutoIt脚本时,可能需要针对每个浏览器编写特定的适配代码,以确保在各种环境下都能正常工作。 通过这样的方式,Python Selenium ...

    用HttpClient来模拟浏览器GET POST

    再有如通过HTTP来上传文件呢?不需要头疼,这些问题有了“它”就很容易解决了! <br>我们不可能列举所有可能的顽固,我们会针对几种最常见的问题进行处理。当然了,正如前面说到的,如果我们自己使用java.net....

    用HttpClient来模拟浏览器GET_POST

    通过使用HttpClient,可以轻松地解决以前很头疼的事情,例如处理COOKIE问题、上传文件等。 在使用HttpClient之前,我们需要了解为什么需要模拟浏览器GET_POST。通常情况下,我们都是使用IE或Navigator浏览器来访问...

    解决jQuery上传插件Uploadify出现Http Error 302错误的方法

    对于特定浏览器的问题,例如IE可以正常上传文件,而在Firefox或Chrome中则出现HTTP 302错误,这可能是因为IE和Firefox/Chrome在处理cookie上的差异导致的。IE浏览器会自动将cookie附带在向后台发送的数据流请求中,...

    EXT2.0在本地浏览API的插件

    它使得EXT应用可以在用户授权的情况下读取、写入或上传本地文件,极大地拓宽了EXT2.0的应用场景。 EXT2.0的本地浏览API插件使用方法如下: 1. **引入插件**:首先,需要在EXT2.0应用的页面中引入`localXHR.js`文件...

    js 读取execl数据内容

    6. **服务端处理**: 另一个解决方案是将Excel文件上传到服务器,然后使用Node.js或其他后端语言(如Python的pandas库或Java的Apache POI)解析文件,将结果返回给前端。这样可以避免浏览器的兼容性问题,但会增加...

    Winfrom 嵌入web网址,支持下载,上传一条龙服务!!!

    `WebBrowser`控件默认不支持文件上传,但可以通过模拟HTML文件选择对话框实现。创建一个`OpenFileDialog`控件,当用户点击上传按钮时,弹出文件选择对话框,获取选中的文件路径,并将其设置为网页中的文件输入字段的...

Global site tag (gtag.js) - Google Analytics