在上传插件中,用户点击提交(确认)后,文件才开始上传,这时候,会上传到服务器的某个姿租目录(不是临时目录,一般是服务器按照管理用户文卖坦件的规则所建立的文件夹),服务器会返回一个指针,这个指针指向了你上传的文件。当你发送邮件后,邮件中也会包含这个指针。不管你把这个文件放到哪个文件夹,实际上都只是存放的这个指针而已。如非管理需要,这个文件应该会永久保存,任中册桐何转发,转储的行为,其实也只是 *** 作的这个指针而不是文件本身。
即使你删除文件,也只是在你的文件夹中删除这个指针。所以,很多“极速秒传”实际上是先判断你要上传的文件的MD5值是否已经在服务器中存在,如果存在,就把已存在的文件的指针放上去,是不是很快?
哈哈,以前我也遇到这个问题,然后用HttpWebRequest解决了,但是麻烦,需要旁指自己构造HTTP头!上传和下载都实胡启侍现了!完全用HttpWebRequest,不需要任何空间!裤吵支持.NET Compact Framework 100分我把源代码给你 QQ107639524在Jsp页面中编写Script代码实现上传事件的描述,必须要注意其中的路径问题,uploader(springmvc controller处理的位置),其他两个路径为uploadify文件的存放路径(这个可以到官网下载)uploadify下载下来的文件的存放路径
在Jsp页面中编写页面祥胡的具体布置
实现页面如下
在controller目录中创建类对jsp页面中的请求进行处理,谨余拦由于代码比较多,所以截图分两部分,最后面给出具体的代码文字
/**
* 处理文件上传
* @param response
* @param request
* @return
* @throws IOException
*/
@RequestMapping(value="/uploadFile",method=RequestMethod.POST)
public String upload(HttpServletResponse response,HttpServletRequest request) throws IOException{
String responseStr=""
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request
Map<String, MultipartFile>fileMap = multipartRequest.getFileMap()
//String savePath = this.getServletConfig().getServletContext().getRealPath("")
//savePath = savePath + "/uploads/"
// 文件保存路径 ctxPath本地路径
String ctxPath=request.getSession().getServletContext().getRealPath("/")+File.separator+"uploadFiles"
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM")
String ymd = sdf.format(new Date())
ctxPath += File.separator + ymd + File.separator
System.out.println("ctxpath="+ctxPath)
//毁兆 创建文件夹
File file = new File(ctxPath)
if (!file.exists()) {
file.mkdirs()
}
String fileName = null
for (Map.Entry<String, MultipartFile>entity : fileMap.entrySet()) {
// 上传文件
MultipartFile mf = entity.getValue()
fileName = mf.getOriginalFilename()//获取原文件名
System.out.println("filename="+fileName)
File uploadFile = new File(ctxPath + fileName)
try {
FileCopyUtils.copy(mf.getBytes(), uploadFile)
responseStr="上传成功"
} catch (IOException e) {
responseStr="上传失败"
e.printStackTrace()
}
}
return responseStr
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)