`
VerRan
  • 浏览: 456795 次
  • 性别: Icon_minigender_1
  • 来自: 陕西.西安
社区版块
存档分类
最新评论

cos上传文件(2)

阅读更多


前段时间写的上传文件的例子,并没有考虑到当文件上传时候加入其它信息的情况.

如果要是在页面中加入其它信息像用户名,性别等等..其它信息
要是在处理页面或者servlet中用request进行获得的时候将会
获得时空值,这时因为设置了
ENCTYPE="multipart/form-data 而导致的,至于本质原因应
该和html协议本身时有关的吧!

处理方法cos包中自带了获得方法
multi.getParameter("userName");
看似简单的方法实现起来还真不简单

1. 看了代码发现就是获得的方法不同了

multi.getParameter("userName");
的实现!

  1. if (request.getQueryString() != null) {   
  2.   // Let HttpUtils create a name->String[] structure   
  3.   Hashtable queryParameters =   
  4.     HttpUtils.parseQueryString(request.getQueryString());   
  5.   // For our own use, name it a name->Vector structure   
  6.   Enumeration queryParameterNames = queryParameters.keys();   
  7.   while (queryParameterNames.hasMoreElements()) {   
  8.     Object paramName = queryParameterNames.nextElement();   
  9.     String[] values = (String[])queryParameters.get(paramName);   
  10.     Vector newValues = new Vector();   
  11.     for (int i = 0; i < values.length; i++) {   
  12.       newValues.add(values[i]);   
  13.     }   
  14.     parameters.put(paramName, newValues);   
  15.   }   
  16. }  

 

public String getQueryString()
Returns the query string that is contained in the request URL after the path. This method returns null if the URL does not have a query string. Same as the value of the CGI variable QUERY_STRING.

getQueryString 应该似比较原始的方法,request.getparameter(),request.getparameterNames(),
request.getparameterValues()应该都是从他扩展而来的!


parseQueryString

public static Hashtable parseQueryString(String s)
Deprecated. 
Parses a query string passed from the client to the server and builds a HashTable object with key-value pairs. The query string should be in the form of a string packaged by the GET or POST method, that is, it should have key-value pairs in the form key=value, with each pair separated from the next by a & character.

A key can appear more than once in the query string with different values. However, the key appears only once in the hashtable, with its value being an array of strings containing the multiple values sent by the query string.

The keys and values in the hashtable are stored in their decoded form, so any + characters are converted to spaces, and characters sent in hexadecimal notation (like %xx) are converted to ASCII characters.

 

Parameters:
s - a string containing the query to be parsed
Returns:
a HashTable object built from the parsed key-value pairs
Throws:
IllegalArgumentException - if the query string is invalid

2.第一步只是为了将http协议携带的信息进行解析并重新封装,这步是留下的调用接口方法

  1. public String getParameter(String name) {   
  2.   try {   
  3.     Vector values = (Vector)parameters.get(name);   
  4.     if (values == null || values.size() == 0) {   
  5.       return null;   
  6.     }   
  7.     String value = (String)values.elementAt(values.size() - 1);   
  8.     return value;   
  9.   }   
  10.   catch (Exception e) {   
  11.     return null;   
  12.   }   
  13. }  

3.经过测试
直接通过:
String userName1=request.getParameter("userName");
     String userName2=request.getQueryString();
获得的话值是为空的!
只有通过multi.getParameter("userName");才可以!
分享到:
评论
1 楼 volking 2008-04-22  
作者有没有过滤文件类型的代码?
COS虽好,但没有这个功能。

相关推荐

    COS多文件上传

    在本文中,我们将深入探讨如何使用腾讯云对象存储(Cloud Object Storage,简称COS)进行多文件上传。COS是腾讯云提供的一种高可用、高可靠、低成本的云存储服务,能够帮助用户存储和管理海量的数据。对于开发者来说...

    cos重命名 jsp+cos上传文件

    2. **文件重命名**:在COS中,文件的重命名实际上就是改变`objectKey`。一旦文件上传成功,我们可以通过更新`objectKey`来实现重命名。可以使用`CopyObject`接口复制原文件到新的键名,然后使用`DeleteObject`删除旧...

    腾讯云cos 上传文件用到的jar包

    2. **构建上传请求**: 创建一个`PutObjectRequest`对象,指定你要上传的本地文件路径和COS中的目标存储桶(Bucket)及对象(Object)名。 3. **执行上传**: 使用`CosClient`实例的`putObject`方法执行上传请求。此...

    java实现cos上传与下载

    以上就是Java实现COS上传与下载的基本步骤。在项目中,你可以根据具体需求对这些基础操作进行封装,例如提供一个服务类,包含上传和下载的接口,以供其他模块调用。同时,为了提高代码的可维护性和安全性,建议使用...

    文件上传需要cos组件:cos-26Dec2008.jar

    4. **上传文件**:调用COS SDK提供的上传文件接口,传入本地文件路径、Bucket名和目标对象键(Object Key,即文件在COS上的路径)。SDK会负责文件的分块上传、错误重试等复杂逻辑。 5. **处理结果**:上传成功后,...

    cos文件上传demo

    【标题】:“COS文件上传demo” 在云存储服务领域,腾讯云对象存储(Cloud Object Storage,简称COS)提供了一种高效、安全、稳定的数据存储解决方案。本示例主要介绍如何利用`cos.jar`这个腾讯云COS的Java SDK,...

    自制jquery+SWFUpload+COS 多文件上传组件

    在压缩包中的“jquery+SWFUpload+COS上传组件的使用”文件,可能包含示例代码、配置文件、样式表和文档,帮助开发者了解如何安装和使用这个组件。通过研究这些文件,开发者可以快速理解和集成这个多文件上传功能到...

    利用COS Servlet上传文件

    在本文中,我们将探讨如何利用COS(可能是腾讯云对象存储服务)Servlet来上传文件到服务器。这个过程通常涉及客户端和服务器端两个主要部分:客户端负责选择并发送文件,而服务器端则接收文件并处理上传请求。 1. *...

    COS 文件上传;

    2. API/SDK上传:使用COS提供的API接口或各种编程语言的SDK,开发者可以在应用程序中实现文件上传功能。 3. COSBrowser:腾讯云提供的桌面客户端工具,支持多文件、大文件上传,并能查看、管理存储桶内的对象。 4. ...

    java中cos文件上传示例

    在Java开发中,文件上传是一项常见的任务,尤其是在构建Web应用时。...总的来说,COS文件上传为Java开发者提供了一种高效、可扩展的文件存储解决方案,通过合理的API设计,使得文件管理和上传变得更加便捷。

    jsp里面用cos进行文件上传

    ### JSP中的文件上传:利用Cos组件实现 在Java Web开发中,文件上传是一个非常常见的需求。对于使用JSP(JavaServer Pages)技术的开发者来说,实现文件上传的方法有很多,例如使用jspsmart公司的SmartUpload、...

    Java文件上传组件 COS

    Java文件上传组件COS,全称为Cloud Object Storage,是由腾讯云提供的一种云存储服务,它支持高可用、高并发的文件存储与访问。在Java开发中,COS提供了丰富的SDK和API,使得开发者能够轻松地将应用程序与云端存储...

    JSP+Servlet+cos文件上传下载Jar包.rar

    "JSP+Servlet+cos文件上传下载Jar包.rar"是一个压缩包,它提供了实现这些功能所需的关键库。让我们详细了解一下这个包以及如何利用其中的资源。 1. **cos.jar**:这是China Online System(COS)的Java库,主要用于...

    JAVA COS上传实例支持Struts2

    COS这个文件上传组件可以说在几个开源的上传文件组件中性能是非常优秀的,上传速度很快(相比fileUpload,smart等组件),但在使用Struts2结合COS文件上传时要注意Struts2实现了自己的MultiPartRequest,这个过滤后的...

    COS框架实现上传稍加修改即可实现多文件上传

    2. **选择文件**: 用户需指定本地文件路径,这是要上传到COS的文件。 3. **上传操作**: 使用COS SDK提供的`uploadFile`方法,传入本地文件路径和目标对象(Object)路径,即可发起上传请求。目标对象路径通常由...

    cos.jar文件下载,cos.jar下载。

    " 指的是腾讯云对象存储服务(Cloud Object Storage,简称COS)的Java SDK,它是一个关键的开发组件,主要用于Java开发者在应用程序中实现对腾讯云COS的文件上传、下载等操作。这个jar包包含了必要的类和方法,使得...

    Java中使用COS实现文件上传功能

    2. 使用COS实现文件上传功能需要下载COS的jar包。 3. 在Java中使用COS实现文件上传功能需要编写Servlet来处理文件上传请求。 4. MultipartRequest类是request的包装类,用于处理multipart/form-data类型的请求。 5. ...

    cos.jar 实现文件上传功能

    在本话题中,我们将深入探讨如何使用`cos.jar`这个库来实现腾讯云COS上的文件上传功能。 `cos.jar`是一个专门为腾讯云COS设计的Java库,它封装了与COS服务交互的所有必要API,使得开发者能够轻松地在Java应用程序中...

    FineUI上传文件到腾讯云cos对象存储.zip

    包含页面 文件管理、文件新建、文件编辑、COS拖拽上传、COS插入外链文件,已实现文件增删改、插入外链文件、本地拖拽或点击上传文件、限制上传文件大小和格式、自动获取外链或上传文件大小、音视频时长,可以完全...

    COS上传实列

    本篇文章将详细解析COS上传实例,帮助你理解如何在腾讯云COS上进行文件上传操作。 一、COS基础概念 1. 对象(Object):在COS中,数据是以对象的形式存储的,每个对象由数据内容、元数据和一个全局唯一的对象键...

Global site tag (gtag.js) - Google Analytics