首页 > 编程知识 正文

springboot配置日志文件,读取properties文件中文乱码

时间:2023-05-05 03:16:04 阅读:130186 作者:3455

//*

下载--测试

*/

@getmapping('download ) ) ) ) ) ) ) ) ) ) )。

公共语音下载(httpservletresponseresponse ) throws SysInnerException { )。

String outFileName='下载文件名(中文).txt );

字符串文件路径=' d :\ 000\ ";

pathfile=paths.get (文件路径,'原始文件data-utf8 -副本. txt ' );

if(files.exists(file ) ) {

设置头部

//response.set content type (应用程序/force-download );

response.setheader (' content-type ',' application/octet-stream; charset=utf-8 '; //向浏览器传达输出内容为流

//Content-Disposition中指定的类型以文件扩展名显示,显示的下载对话框中的文件类型图像以文件扩展名显示。 指向并保存文件时,文件将具有filename值,保存类型取决于在Content中设置的类型。 注意:在设置Content-Disposition标头字段之前,必须设置Content-Type标头字段。

//以这种方式下载的文件名中文乱码问题

//response.setheader (' content-disposition ',' attachment; filename=' outFileName;

try {

//方法1 :命名下载的文件-此方法解决了中文乱码问题。 swagger,postman看到的是% .等。 浏览器直接输入url。 好的

response.setheader (content-disposition ),

'附件; filename=' urlencoder.encode (outfilename,ENCODING );

//方法2 :设置下载文件的名称-此方法解决了中文乱码问题。 swagger,postman看到的是% .等。 浏览器可以直接输入url以确定(

//用UTF-8取出文件名,用ISO8859-1编码。 防止弹出窗口中的文件名用中文乱码。 中文不太多。 最多支持17个中文。 因为header有150字节的限制。 )

response.setheader (content-disposition ),

'附件; filename=' new string (outfilename.getbytes (encoding ),' ISO8859-1 ' ) )

//方法3 :设置下载文件的名称-此方法解决了中文乱码问题。 postman很好。 swagger看到的是% .等。 浏览器直接输入url。 好的

response.setheader (' content-disposition ',' attachment; filename=' outFileName '; filename*=utf-8 ' '

urlencoder.encode(outfilename,ENCODING );

} catch (unsupportedencodingexceptione ) {

message='数据导入失败。' e.getMessage (;

log.error (消息;

thrownewsysinnerexception (消息;

}

try {

files.copy(file,response.getOutputStream ) );

}catch(ioexceptionex ) {

message='数据导入失败。' ex.getMessage (;

log.error (消息;

thrownewsysinnerexception (消息;

}

}

}

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。