• 上传模型方法-断点续传方法


    /// <summary>
    /// 上传模型方法-断点续传方法
    /// </summary>
    /// <returns></returns>
    public string AddUpload()
    {
    JsonResult json = new JsonResult();
    json.status = false;
    try
    {
    var modelName = HttpContext.Current.Request["modelName"].ToString();
    var filetype = HttpContext.Current.Request["filetype"].ToString();
    var importType = HttpContext.Current.Request["importType"].ToString();
    int importTypeID = int.Parse(importType);//1 新增或覆盖 2 同名称追加模型 append
    
    
    if (HttpContext.Current.Request.Files.Count <= 0)
    {
    json.msg = "未识别到上传的文件";
    return JsonConvert.SerializeObject(json);
    }
    HttpPostedFileBase fileBase = new HttpPostedFileWrapper(HttpContext.Current.Request.Files[0]) as HttpPostedFileBase;
    long len = fileBase.ContentLength;
    string extensionName = System.IO.Path.GetExtension(fileBase.FileName); //获取文件扩展名
    string fileName = System.IO.Path.GetFileName(fileBase.FileName); //获取文件名
    /////可增加文件格式判断逻辑
    if (extensionName.ToUpper() == filetype.ToUpper())
    {
    //第一步 创建服务ID
    var taskID = CreateUpLoadModelTask(modelName);
    
    //第二步 上传文件
    
     
    
    byte[] bytes = new byte[1024000];//每次分割大小1m 根据情况自由调节,建议10M以内
    bool blUplload = true;
    using (BinaryReader reader = new BinaryReader(fileBase.InputStream, System.Text.Encoding.UTF8))
    {
    while (reader.Read(bytes, 0, bytes.Length) > 0)
    {
    blUplload = blUplload && UpLoadModel(bytes, fileName, taskID, bytes.Length);
    }
    }
    
    if (blUplload)
    {
    // 第三步 后台格式转换
    ConvertAndUpdateModel(taskID, importTypeID);
    //第四步:
    json.status = InsertModelData(modelName, modelName);
    }
    else
    {
    json.msg = "上传文件失败!";
    }
    
    if (UpLoadModel(bytes, fileName, taskID, len))
    {
    //第三步 后台格式转换
    ConvertAndUpdateModel(taskID, importTypeID);
    //第四步:
    
    json.status = InsertModelData(modelName, modelName);
    }
    else
    {
    json.msg = "上传文件失败!";
    }
    
    
    }
    else
    {
    json.msg = "请上传文件与选定类型不一致";
    }
    
    }
    catch (Exception ex)
    {
    json.msg = "服务错误:" + ex.ToString();
    
    }
    return JsonConvert.SerializeObject(json);
    }
  • 相关阅读:
    一小时学会前端工程化
    lodash学习资料
    关于《冬天时我喜欢靠近温暖的事》这首歌 (民谣在路上)
    往后余生(简单的歌词分享)
    如果觉得活的很累不妨进来看看(生活应该简简单单)
    《大学》全文及白话翻译
    原型设计模式 Prototype
    解释器模式 Interpreter
    copy on write,代理模式
    ado.net
  • 原文地址:https://www.cnblogs.com/efreer/p/13504091.html
Copyright © 2020-2023  润新知