• c#文件流上传图片


    1、第一步 定义参数

    //主表TableA

    public class TableA

    {

    public List<TableB> AccidentImgByte { get; set; }

    }

    //子表TableB

    public class TableB{

    public Byte[] AccidentImgflow { get; set; }//文件流

    public String AccidentImgName { get; set; }//文件名称

    public String AccidentImgExt { get; set; }//文件格式

    }

    2、接口

     public void AccidentImg_Request(TableA tModel){

     string VisitImgFile = string.Empty;//图片路径

    if (bmModel.AccidentImgByte != null)
    {
    foreach (var item in tModel.AccidentImgByte)
    {
    VisitImgFile += AttachmentUrl(item.AccidentImgflow, item.AccidentImgName, item.AccidentImgExt) + ",";

    }
    if (!String.IsNullOrEmpty(VisitImgFile ))
    {
    VisitImgFile = VisitImgFile.Substring(0, VisitImgFile.Length - 1);
    }
    }

    }

    /// <summary>
    /// 图片处理方法
    /// </summary>
    /// <param name="fileNameAttachment">文件流</param>
    /// <param name="fileName">文件名称</param>
    /// <param name="fileExt">文件格式</param>
    /// <returns></returns>

    private String AttachmentUrl(Byte[] fileNameAttachment, string fileName, string fileExt)
    {
    String aUrl = System.Web.Configuration.WebConfigurationManager.AppSettings["web.config配置上传地址"];//服务器地址,用于返回服务器图片地址组合,如:http://x.x.x/
    try
    {
    //写入目录
    string attachmentPath = System.Web.Configuration.WebConfigurationManager.AppSettings["web.config配置上传地址"] + fileName + fileExt;
    File.WriteAllBytes(attachmentPath, fileNameAttachment);
    aUrl = aUrl + fileName + fileExt;//拼接返回地址 如:http://x.x.x/测试1.jpg
    }
    catch (Exception ex)
    {
    HX.BPM.Common.LogWriter.Write("日志", "BaggageMonitorAdd_Request", "行李监控流程发起处理异常", ex.Message);
    aUrl = null;
    }

    return aUrl;
    }

    3、前端(外部)调用

    private void button1_Click(object sender, EventArgs e)
    {

     TableA ta=new TableA();

    ta.AccidentImgByte = new AttModel[2];//定义长度

    byte[] aImag = FileContent(@"本地图片路径");

    ta.AccidentImgByte[0]=new TableB() {
    AccidentImgflow = aImag,
    AccidentImgName = "测试1",
    AccidentImgExt=".jpg"
    };

    aImag = FileContent(@"本地图片路径");
    ta.AccidentImgByte[1] = new TableB()
    {
    AccidentImgflow = aImag,
    AccidentImgName = "测试2",
    AccidentImgExt = ".jpg"
    };

      var result = AccidentImg_Request(ta);

    }

    //文件转换成流

    private static byte[] FileContent(string fileName)
    {
    FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
    try
    {
    byte[] buffur = new byte[fs.Length];
    fs.Read(buffur, 0, (int)fs.Length);

    return buffur;
    }
    catch (Exception ex)
    {
    return null;
    }
    finally
    {
    if (fs != null)
    fs.Close();
    }
    }

    作者:D调灬仔
    出处:https://www.cnblogs.com/chj929555796/
    您的推荐是我最大的动力,如果觉得这篇文章对你有帮助的话,请点个“推荐”哦,博主在此感谢!
  • 相关阅读:
    我的Java设计模式-原型模式
    我的Java设计模式-观察者模式
    我的Java设计模式-建造者模式
    我的Java设计模式-单例模式
    我的Java设计模式-工厂方法模式
    菜鸟必备教程,ajax与xml交互传输数据。
    javascript Date format(js日期格式化)
    用script实现内容显示,并使用json传输数据
    使用jquer获取当前时间,并赋值到input上。
    利用js获取时间并输出值
  • 原文地址:https://www.cnblogs.com/chj929555796/p/7027842.html
Copyright © 2020-2023  润新知