`

if (null != agent && -1 != agent.indexOf("Mozilla")){//firefoxjava下载文件时的文件名乱码处理

阅读更多
java下载文件时的文件名乱码处理

  在不同浏览器下需要有不同的处理,否则还是会出现文件名为乱码:

//判断浏览器

}


,ie是一样的,火狐不同些,谷歌兼容两种



String agent = request.getHeader("USER-AGENT");

if (null != agent && -1 != agent.indexOf("Mozilla")){//firefox
response.setHeader("Content-Disposition", "attachment;filename=\""
+ new String(file.getName().getBytes("UTF-8"),"iso-8859-1")
+ "\"");
}else{//IE,其他MSIE,
// 设置文件头,文件名称或编码格式
response.setHeader("Content-Disposition", "attachment;filename=\""
+ java.net.URLEncoder.encode(file.getName(), "UTF-8")
+ "\"");
}
分享到:
评论

相关推荐

    如何使用CASE WHEN语法判断入参代替if test=user-name != null and user-name !=

    MyBatis `<if>` 需要在Java代码或XML映射文件中实现逻辑判断,这种做法加深了SQL与应用程序代码的耦合度。而CASE WHEN直接嵌入SQL内,实现了逻辑判断与数据访问层的解耦,提升了代码的模块化水平,便于维护和跨团队...

    我编写的实现单链表的程序

    if(p==NULL){ return error; } } return success; } node* List::get_ptr(int m){ node*p=head; int j=0; while(p!=NULL&&j){ j++; p=p->next; } return p; } yaya List::inset_node(int x,int y...

    undefined==null引发的两者区别与联系第1/3页

    貌似以前也看过null==undefined,null!==undefined,但也一直没有在意。 近日看过去别人的一程序源码,到处都有一些如if(x!=undefined&&x!=null&&x!=””)之类的判断,突然觉得写的很啰嗦,俺一般都直接if(x){}因为...

    android 百度地图 定位示例

    if (location == null || mMapView == null) return; MyLocationData locData = new MyLocationData.Builder() .accuracy(location.getRadius()) //此处设置开发者获取到的方向信息,顺时针0-...

    spring_MVC源码

    弃用了struts,用spring mvc框架做了几个项目,感觉都不错,而且使用了注解方式,可以省掉一大堆配置文件。本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,...

    双向链表C语言实现

    if (head == NULL || id < head->id) { newNode->next = head; head->prev = newNode; head = newNode; } else { Node* temp = head; while (temp->next != NULL && temp->next->id ) temp = temp->next; ...

    C++链表基本操作 初始化 插入 删除 输出 清空

    ### 1. 初始化链表 链表的初始化通常涉及创建一个空链表,即头节点为空。在C++中,可以这样实现: ```cpp ListNode *head = NULL; ``` ### 2. 插入节点 插入节点是链表操作中的核心部分。有多种插入方式,如在...

    c 链表 c双链表

    ## 1. 单链表 单链表由一系列节点组成,每个节点包含两部分:数据域(存储实际信息)和指针域(指向下一个节点的地址)。在C语言中,我们可以定义一个结构体来表示链表节点: ```c typedef struct Node { int ...

    双向链表的14个基本操作函数C语言

    if (list1 == NULL) return list2; if (list2 == NULL) return list1; if (list1->data < list2->data) { list1->next = mergeSortedLists(list1->next, list2); list1->next->prev = list1; list1->prev = ...

    Element-ui css非网络引用,

    link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css1"> <link rel="stylesheet" href="/js/vue/index.css"> <div id="app"> <el-button @click="visible = true">...

    progress.js

    this.construct=function(arg1,arg2){var argpercentage=null;var argconfig=null;if(arg1!=null){if(!isNaN(arg1)){argpercentage=arg1;if(arg2!=null){argconfig=arg2;}}else{argconfig=arg1;}} return this.each...

    单链表c程序(内含表单排序功能)

    if (prev == NULL) { // 如果删除的是头节点 *head = temp->next; } else { prev->next = temp->next; } free(temp); } } ``` **修改元素**:同样需要遍历链表找到目标节点,并更新其数据域。 ```c void ...

    jdk-8u101-linux-x64.tar.gz

    `jdk-8u101-linux-x64.tar.gz` 是Oracle公司发布的JDK 8更新101的Linux 64位版本的压缩包文件。这个文件的命名遵循了一种标准格式:`jdk-版本号-os平台-架构.tar.gz`,其中“版本号”代表JDK的发布版本,“os平台”...

    链表-使用C语言实现带头结点的单链表.zip

    链表是一种基础且重要的数据结构,它在计算机科学中扮演着关键角色,特别是在处理动态数据集合时。在C语言中,链表不像是数组那样在内存中连续存储,而是通过节点之间的指针链接来实现。本资料包"链表-使用C语言实现...

    ip网页显示

    = "undefined" && objObject.IPEnabled == true) { if(objObject.MACAddress != null && objObject.MACAddress != "undefined") MACAddr = objObject.MACAddress; if(objObject.IPEnabled && objObject.IPAddress(0)...

    jdk8-jdk-8u121-linux-x64.tar.gz

    1. **下载**:首先,你需要从Oracle官方网站或可靠的第三方源下载对应的压缩包。 2. **解压**:使用`tar -zxvf jdk8-jdk-8u121-linux-x64.tar.gz`命令解压文件,这将创建一个名为`jdk1.8.0_121`的目录。 3. **配置...

    java微博模拟登陆+图片上传微博图床

    cookieVal = cookieVal.substring(0, cookieVal.indexOf(";")); sessionId = sessionId + cookieVal + ";"; } } if (sessionId != null) { String[] cookiearr = sessionId.split(";"); for (int i = 0; i ...

    C++笔试测试程序 LinkedLsit 基本运算

    在C++编程中,链表是一种非常重要的数据结构,它在很多场合下有着广泛的应用,尤其是在处理动态数据集合时。链表与数组不同,数组是连续存储的数据结构,而链表则是通过节点间的指针连接起来的一系列元素。在本题的...

    链表实例代码

    链表是一种基础且重要的数据结构,它在计算机科学中扮演着关键角色,特别是在处理动态数据集合时。与数组不同,链表的元素不需要在内存中连续存储,这使得它们在插入和删除操作上具有较高的效率。下面我们将深入探讨...

    二叉树非递归遍历程序

    = NULL && pTemp->rchild == pTree) { pTemp = pTree->parent; } if (pTemp->rchild != NULL && pTemp->rchild != pTree) { pTree = pTemp->rchild; cout << pTree->data ; continue; } break; } // ...

Global site tag (gtag.js) - Google Analytics