zoukankan      html  css  js  c++  java
  • 把文件以二进制格式或base64字符串形式保存到数据库中,并实现下载功能源码

    主要的代码如下:
    上传部分:

    // 得到提交的文件
    Stream fileDataStream = upFile.PostedFile.InputStream;

    // 得到文件大小
    int fileLength = upFile.PostedFile.ContentLength;

    // 创建数组
    byte[] fileData = new byte[fileLength];

    // 把文件流填充到数组
    fileDataStream.Read(fileData, 0, fileLength);

    // 得到文件名字(包括扩展名,用于下载)
    string fileName= upFile.Value.Substring(upFile.Value.LastIndexOf("\\")+1);

    // 保存原文件名(包括扩展名,用于下载)
    // fileName

    // 保存文件内容(需要用Convert.ToBase64String转换为string类型)
    // Convert.ToBase64String(fileData);

    下载部分:
    Response.Clear(); 
    // 使用UrlEncode,防止中文乱码
    Response.AddHeader("Content-Disposition""attachment; filename=\"" + Server.UrlEncode(dr["FileName"].ToString()) + "\"");
    // 注意转换格式
    Response.BinaryWrite(Convert.FromBase64String(dr["File"].ToString()));

    操作数据库部分的代码,省略掉了,如果有哪位需要完整的代码,请点击下面的链接下载吧.
    下载

  • 相关阅读:
    转战Python
    spark
    idea的配置
    19年春第十六周学习
    19年春第十五周学习
    个人作业-最长英语链
    rpm dpkg 用法比较
    foxmail 无法下载同步邮件 error:00000001:lib(0):func(0):reason(1)
    date命令详解
    用cron服务自动运行脚本
  • 原文地址:https://www.cnblogs.com/luqingfei/p/618322.html
Copyright © 2011-2022 走看看