使用GetInvalidFileNameChars生成文件名

有时候需要利用从数据库中检索出来的字符串来生成一个文件名,如果这个字符串包容了不允许的字符(\、?、<、>等),还需要把这些字符逐个替换掉

代码如下:

代码如下:

public static string GetValidName(string fileName)
{
    foreach (char c in System.IO.Path.GetInvalidFileNameChars())
    {
        fileName = fileName.Replace(c, ' ');
    }
    return fileName;
}

用同样的办法,还可以判断一个字符串中是否包含了无效的字符。

(0)

相关推荐

  • 使用GetInvalidFileNameChars生成文件名

    有时候需要利用从数据库中检索出来的字符串来生成一个文件名,如果这个字符串包容了不允许的字符(\.?.<.>等),还需要把这些字符逐个替换掉 代码如下: 复制代码 代码如下: public static string GetValidName(string fileName){    foreach (char c in System.IO.Path.GetInvalidFileNameChars())    {        fileName = fileName.Replace(c, ' '

  • 配置Grunt的Task时通配符支持和动态生成文件名问题

    copy: { // 这是Task里的其中一个Target dests: { expand: true, cwd: '<%=config.app%>/newFolder', src: ['**/{a*,b*}.html'], dest: '<%=config.dist%>/newFolder', ext: ".shtml", extDot: "first", flatten:true, //去掉中间上当,下面的rename可以再找回来 ren

  • log4j如何根据变量动态生成文件名

    目录 根据变量动态生成文件名 简单的log4j设置 log4j动态文件名 一.按照用户ID来生成log 二.在batch程序中,通过一个设定来实现每个batch 三.在batch程序中,通过多个设定来实现每个batch 根据变量动态生成文件名 简单的log4j设置 一般情况下,log4j配置文件简单的设置为: log4j.rootLogger=debug,stdout,R log4j.appender.R=org.apache.log4j.DailyRollingFileAppender log

  • 随机生成文件名的函数

    <html> <meta http-equiv="Refresh" content="2"> <!-- Place this code into an ASP Page and run it! --> <code> Random FileName Creation <% Function Generator(Length) dim i, tempS, v dim c(39) tempS = ""

  • java利用时间格式生成唯一文件名的方法

    前言 有时候我们需要截图,在要截图时,有人用到了时间格式,但是时间格式中的:在文件名称中是不被允许的字符,所以就会报错,如何生成唯一的时间文件名: 示例代码 package com.demo; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar;

  • 浅谈web上存漏洞及原理分析、防范方法(文件名检测漏洞)

    我们通过前篇:<浅谈web上存漏洞及原理分析.防范方法(安全文件上存方法)>,已经知道后端获取服务器变量,很多来自客户端传入的.跟普通的get,post没有什么不同.下面我们看看,常见出现漏洞代码.1.检测文件类型,并且用用户上存文件名保存 复制代码 代码如下: if(isset($_FILES['img'])){    $file = save_file($_FILES['img']); if($file===false) exit('上存失败!'); echo "上存成功!&qu

  • PHP动态页生成静态页的3种常用方法

    生成静态页的页面非常的简单就是定义好模板与模板标题,之后利用str_replace进行替换了,是最常用的方法,另一种是利用ob_get_contents输出获得然后生成html,还有一种不怎么推荐的是使用file_get_contents直接执行访问远程文件然后进行保存,性能极差. 具体方法简单说明如下: 1.使用文件函数得到静态页面的模板字符串,然后用str_replace函数将需要替换的东西替换了再写入到新的文件中. 2. 利用PHP的输出控制函数(Output Control)得到静态页面

  • php可生成缩略图的文件上传类实例

    本文实例讲述了php可生成缩略图的文件上传类及其用法.分享给大家供大家参考.具体实现方法如下: 类文件调用方法如下: 复制代码 代码如下: <?php if ($_GET['action'] == 'save') {                     $up = new upload();             $up->set_dir(dirname(__FILE__).'/upload/','{y}/{m}');             $up->set_thumb(100,

  • Django框架文件上传与自定义图片上传路径、上传文件名操作分析

    本文实例讲述了Django框架文件上传与自定义图片上传路径.上传文件名操作.分享给大家供大家参考,具体如下: 文件上传 1.创建上传文件夹 在static文件夹下创建uploads用于存储接收上传的文件 在settings中配置, MEDIA_ROOT=os.path.join(BASE_DIR,r'static/uploads') 2.定义上传表单 <form action="{% url 'app:do_upload' %}" method="post"

  • springmvc中下载中文文件名称为下划线的解决方案

    目录 springmvc下载中文文件名称为下划线 这个问题很好解决 java生成文件名时汉字变为下划线? 注意这里两个编码 springmvc下载中文文件名称为下划线 springboot项目中,在下载文件的时候,通过封装ResponseEntity,将文件流写入body,这种下载文件的方式,造成了下载的文件名为正文显示为下划线的形式: 这个问题很好解决 直接将输入的文件名的编码格式定义成GBK格式: 如下代码 public static ResponseEntity<FileSystemRes

随机推荐