`
hunter123456
  • 浏览: 1460 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

linux下swfupload上传,fileOut = new FileOutputStream(fileName);的问题

阅读更多
代码如下:

得到的文件size是0
当fileOut.write(dataBytes,startPos,(endPos - startPos));
改成fileOut.write(dataBytes)
时,文件size不在是0但,上传的xls成乱码了,
谁有这方面的经验没?
<%@ page contentType="text/html; charset=UTF-8" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="java.io.*"%> 
<%@ page import="java.util.*"%> 
<%@ page import="javax.servlet.*"%> 
<%@ page import="javax.servlet.http.*"%> 
<html> 
<head> 
<title> upFile </title> 
</head> 
<body bgcolor="#ffffff"> 
<center> 
<%
String rootPath;
DataInputStream in = null;
FileOutputStream fileOut = null;
String realPath = request.getRealPath("/");
rootPath = realPath + "/upload/"; 
String contentType = request.getContentType(); 
try{ 
if(contentType.indexOf("multipart/form-data") >= 0){
in = new DataInputStream(request.getInputStream()); 
int formDataLength = request.getContentLength(); 
byte dataBytes[] = new byte[formDataLength]; 
int byteRead = 0; 
int totalBytesRead = 0;
while(totalBytesRead < formDataLength){
byteRead = in.read(dataBytes,totalBytesRead,formDataLength); 
totalBytesRead += byteRead; 
} 
String file = new String(dataBytes);
String saveFile = file.substring(file.indexOf("filename=\"") + 10); 

saveFile = saveFile.substring(0,saveFile.indexOf("\n")); 
saveFile = saveFile.substring(saveFile.lastIndexOf("\\") + 1,saveFile.indexOf("\"")); 
int lastIndex = contentType.lastIndexOf("="); 
String boundary = contentType.substring(lastIndex + 1,contentType.length()); 
String fileName = rootPath + saveFile;
int pos; 
pos = file.indexOf("filename=\""); 
pos = file.indexOf("\n",pos) + 1; 
pos = file.indexOf("\n",pos) + 1; 
pos = file.indexOf("\n",pos) + 1; 
int boundaryLocation = file.indexOf(boundary,pos) - 4; 
int startPos = ((file.substring(0,pos)).getBytes()).length;
int endPos = ((file.substring(0,boundaryLocation)).getBytes()).length; 
File checkFile = new File(fileName); 
if(checkFile.exists()){
return;
} 
File fileDir = new File(rootPath); 
if(!fileDir.exists()){ 
fileDir.mkdirs(); 
}
fileOut = new FileOutputStream(fileName);
fileOut.write(dataBytes,startPos,(endPos - startPos)); 
fileOut.close(); 
}else{ 
String content = request.getContentType(); 
} 
}catch(Exception ex){ 
throw new ServletException(ex.getMessage()); 
} 
%> 
</center> 
</body> 
</html>
分享到:
评论

相关推荐

    解决swfupload items size=0

    标题“解决swfupload items size=0”涉及的是一个与SWFUpload相关的技术问题,SWFUpload是一个开源的JavaScript库,用于在网页上实现高级的文件上传功能,尤其适用于处理大文件和批量上传。该问题可能出现在用户尝试...

    swfupload(old)swfupload(new)swfupload(new)swfupload(new)swfupload(new)

    swfupload(new)swfupload(new)swfupload(new)swfupload(new)swfupload(new)swfupload(new)swfupload(new)swfupload(new)

    swfupload(new)swfupload(new)swfupload(new)

    swfupload(new)swfupload(new)swfupload(new)swfupload(new)swfupload(new)swfupload(new)swfupload(new)swfupload(new)swfupload(new)swfupload(new)swfupload(new)

    swfupload上传

    var SWFUpload; if (typeof(SWFUpload) === "function") { SWFUpload.queue = {}; SWFUpload.prototype.initSettings = (function (oldInitSettings) { return function () { if (typeof(oldInitSettings) ...

    SwfUpload上传控件,用java上传大文件,无缝刷新

    SwfUpload是一款强大的JavaScript上传控件,它支持大文件上传并能实现无刷新(Ajax)效果,极大地提升了用户在网页上的文件上传体验。在Java环境中,我们可以利用SwfUpload与后端服务配合,处理文件上传请求,实现...

    swfupload多文件上传带进度条实例

    在这个实例中,我们将探讨如何在VS2012环境下,使用.NET Framework 4.0开发一个基于SWFUpload的多文件上传功能。 首先,让我们理解SWFUpload的工作原理。SWFUpload是基于Flash技术的,它创建了一个隐藏的Flash对象...

    解决Struts2与SWFupload上传冲突问题

    下面将详细介绍如何解决Struts2与SWFupload上传冲突的问题。 **1. 问题分析** Struts2提供了一套自己的文件上传机制,它通过Interceptor(拦截器)来处理上传请求。而SWFupload利用Flash技术上传文件,其提交的数据...

    jsp 的swfupload上传例子 v2.1版本

    - 文件上传可能涉及安全问题,例如防止非法文件上传、文件名冲突等,需要在后端进行严格的验证和处理。 - 考虑到用户可能禁用Flash,应提供一个备用的HTML5上传方案。 - 调整SwfUpload的配置以适应服务器的限制,...

    完美的SwfUpload 上传,显示进度条

    在C# ASP.NET环境中,确保正确处理Multipart/FormData请求是非常重要的,因为这是SwfUpload上传文件所采用的格式。后端代码需要解析这些数据,提取出文件内容并保存到合适的目录下。同时,考虑到安全性,需要对上传...

    swfUpload上传文件图片(多图片)

    在实际项目中,通过合理的配置和事件处理,可以轻松实现如"swfUpload上传文件图片(多图片)"这样的需求。在使用SwfUpload时,确保正确引入资源、配置参数并处理好上传过程中的各种事件,就能为用户提供一个高效、...

    swfupload批量上传图片

    由于使用了Flash技术,SWFUpload可以在不刷新页面的情况下,实现文件的异步上传,从而提高了用户体验。 ### 2. 工作原理 SWFUpload利用浏览器中的Flash Player来处理文件选择和上传过程。用户选择文件后,Flash将...

    swfupload上传demo示例

    总的来说,"swfupload上传demo示例"提供了一个完整的解决方案,展示了如何在ThinkPHP框架下使用SwfUpload实现多文件上传功能。通过理解SwfUpload的工作原理,结合ThinkPHP的控制器和视图机制,以及恰当的数据库设计...

    swfupload xss 注入修复

    *swfUpload/Flash/swfupload.swf?movieName=aaa"])}catch(e){(alert)(1)};// *解决swfupload-xss注入,自己项目中遇到的,已经修改 亲测通过 *将文件中的swf文件替换掉项目中的swf文件 *将swfupload.as文件替换掉...

    swfupload flash上传兼容所有浏览器

    SWFUpload 是一款开源的Flash上传组件,它在过去的网页开发中被广泛使用,尤其在应对多文件上传和处理大文件上传时具有显著优势。它的核心功能是利用Flash技术实现跨浏览器的文件上传,即便是在那些不支持HTML5的旧...

    swfupload实现带有进度条的文件上传

    SwfUpload 是一款开源的Flash上传组件,它允许在网页中实现文件的上传,并且能够显示上传进度条,提供了一种用户体验良好的文件上传方式。在本文中,我们将深入探讨如何利用SwfUpload与jsp、Java Servlet相结合,...

    mvc下swfupload实例

    使用SwfUpload上传文件时,需要注意安全问题。例如,限制文件类型以防止恶意文件上传,验证文件大小以避免DoS攻击,以及确保文件保存路径的安全性。 8. **调试与测试** 在VS2013中,可以利用内置的浏览器调试工具...

    swfupload上传实例

    这个"swfupload上传实例"是一个具体的示例,展示了如何在PHP环境中集成SWFUpload以实现高效的文件上传功能。 ### 1. SWFUpload 概述 SWFUpload 是一款开源项目,利用Adobe Flash插件(SWF文件)作为前端界面,提供...

    SwfUpload 多文件上传

    SwfUpload 是一款开源的Flash上传组件,它允许用户在网页上实现多文件上传功能,尤其适用于需要大文件上传或批量上传的场景。这个技术在Web开发中被广泛应用,因为它可以提供比传统HTML表单上传更好的用户体验。...

    swfupload asp版 asp上传大文件,批里上传

    在ASP环境中,SWFUpload 可以很好地解决传统ASP上传文件时遇到的大小限制和性能问题。 首先,我们要理解SWFUpload的工作原理。它利用了Adobe Flash技术来绕过浏览器对文件上传大小的限制,因为Flash插件允许上传更...

    通达OA v11.5 swfupload_new.php SQL注入漏洞.md

    通达OA漏洞合集

Global site tag (gtag.js) - Google Analytics