zoukankan      html  css  js  c++  java
  • C#实现多文件上传,写到文件夹中,获取文件信息以及下载文件和删除文件

    前台:.js

    //上传附件
    function uploadAttachment() {
        if ($("#Tipbind").attr('checked')) {
            var ip = $("#TunBandIP").val();
            if ($.trim(ip) == 0) {
                return $.messager.show({ title: '提示', msg: '请先选择IP' });
            }
            $('#ImprotDlg').dialog('open');
            uploadFy(ip);
            $("#T_ExcelName").val("");
            $("#T_SheetName").val("");
        }
        else {
            $.messager.show({ title: '提示', msg: '只有绑定的ip才能上传附件' });
        }
    }
    
    
    var oncomplete = false;
    function uploadFy(ip) {
        $("#uploadify").uploadify({
            'swf': '/Scripts/uploadify/uploadify.swf',
            'uploader': '/AjaxTerminalInfo/UploadAttachments.cspx',
            'formData': { 'ip': ip },
            'folder': '/Attachments',
            'queueID': 'fileQueue',
            'method': 'get',
            'auto': false,
            'sizeLimit': 20480000,
            'multi': true,
            'fileDesc': '请选择文件',
            'fileExt': '*',
            'width': 110,
            'height': 28,
            'buttonText': '请选择文件',
            'scriptData': {},
            'onSelect': function (e, queueId, fileObj) {
                qId = queueId;
    
            },
            'onUploadSuccess': function (file, data, response) {
                var datamsg = eval(" val= (" + data + ")");
    
                if (datamsg.Success) {
                    $.messager.show({ title: '提示', msg: datamsg.Success });
                    $('#ImprotDlg').dialog('close');
                } else {
                    $.messager.show({ title: '提示', msg: datamsg.Error });
                }
                oncomplete = true;
            },
            'onUploadError': function (file, errorCode, errorMsg, errorString) {
                if (file.size > 20480000) {
                    $.messager.show({ title: '提示', msg: "上传文件不能超过20M" });
                }
            },
            'onCancel': function (file) {
    
            }
        });
    }
    
    //开始上传
    function uploadFile() {
        var filename = $("#T_ExcelName").val();
        if (filename == '') {
            $.messager.show({ title: '提示', msg: '请选择上传文件!' });
            return;
        }
        $('#uploadify').uploadify('upload', '*');
    }
    
    //取消上传
    function cancelUploadFile() {
        $('#uploadify').uploadify('cancel', '*');
        $('#ImprotDlg').dialog('close');
    }
    
    //查看附件
    function showAttachment() {
        var ip = $("#TunBandIP").val();
        if ($.trim(ip) == 0) {
            return $.messager.show({ title: '提示', msg: '请先选择IP' });
        }
        $("#attachmentDlg").dialog('open');
    
        var dgObj = {
            queryParams: { ip: ip },
            singleSelect: true,
            url: '/AjaxTerminalInfo/GetAttachmentsByIp.cspx',
            method: 'get',
            border: false,
            toolbar: [{
                text: '下载',
                iconCls: 'icon-import',
                handler: function () {
                    var row = $("#dg").datagrid('getChecked');
                    if (row.length == 0) {
                        return $.messager.show({ title: '提示', msg: '请先选择文件进行下载' });
                    }
                    for (var i = 0; i < row.length; i++) {
                        $('#attachmentForm').attr('action', '/AjaxTerminalInfo/DownloadAttachment.cspx?filepath=' + row[i].FilePath + "&filename=" + row[i].FileName);
                        $('#attachmentForm').submit();
                    }
    
                }
            }, {
                text: '删除',
                iconCls: 'icon-no',
                handler: function () {
                    alert(1)
                }
            }],
            columns: [[
                { field: 'ck', checkbox: true },
                { field: 'FileName', title: '文件名',  310, align: 'left', halign: 'center' },
                { field: 'UploadDateTime', title: '上传日期',  120, align: 'center' }
            ]]
        };
    
        $("#dg").datagrid(dgObj);
    }

    /// <summary>
    /// 删除文件
    /// </summary>
    /// <param name="filepath"></param>
    /// <param name="filename"></param>
    /// <returns></returns>
    [Action]
    [SessionMode(SessionMode.Support)]
    public Object DeleteAttachment(string filepath, string filename)
    {
    Message message = new Message();
    try
    {
    //判断文件是不是存在
    if (File.Exists(filepath))
    {
    //如果存在则删除
    File.Delete(filepath);
    message.Success = "删除文件成功";
    message.data = true;
    }
    else
    {
    message.Success = "文件不存在";
    message.data = false;
    }
    return JsonConvert.SerializeObject(message);
    }
    catch (Exception e)
    {
    log.Debug("出错原因:" + e.Message);
    message.Error = "删除文件失败:" + e.Message;
    message.data = false;
    return JsonConvert.SerializeObject(message);
    }
    }

     

    后台:.cs

    /// <summary>
            /// 上传附件
            /// </summary>
            /// <returns></returns>
            [Action]
            [SessionMode(SessionMode.Support)]
            public object UploadAttachments()
            {
                var message = new Message();
                try
                {
                    HttpPostedFile file = HttpContext.Current.Request.Files["Filedata"];
                    var ip = HttpContext.Current.Request.Params["ip"];
                    string path = "/Attachments/" + ip + "/";//相对路径
    
    
                    if (file != null && file.ContentLength > 0)
                    {
                        string savePath = Path.Combine(HttpContext.Current.Server.MapPath(path));
                        if (!Directory.Exists(savePath))
                            Directory.CreateDirectory(savePath);
                        file.SaveAs(savePath + file.FileName);
                        message.Success = "上传成功";
                    }
                    else
                    {
                        message.Error = "文件不能为空";
                    }
                }
                catch (Exception e)
                {
                    log.Debug("出错原因:" + e.Message);
                    message.Error = "出错原因:" + e.Message;
                    throw;
                }
                return JsonConvert.SerializeObject(message);
            }
    
            /// <summary>
            /// 
            /// </summary>
            /// <returns></returns>
            [Action]
            [SessionMode(SessionMode.Support)]
            public object GetAttachmentsByIp(string ip)
            {
                try
                {
                    string path = "/Attachments/" + ip + "/";//相对路径
                    string savePath = Path.Combine(HttpContext.Current.Server.MapPath(path));
                    var dgData = new DataGridData<DiyFile>();
                    string[] fileNames = Directory.GetFiles(savePath);
                    foreach (var fileName in fileNames)
                    {
                        var fi = new FileInfo(fileName);
                        var fileinfo = new DiyFile();
                        fileinfo.FileName = fi.Name;
                        fileinfo.FilePath = fileName;
                        fileinfo.UploadDateTime = fi.LastAccessTime;
                        dgData.rows.Add(fileinfo);
                    }
                    dgData.total = fileNames.Count();
                    var dgJson = JsonConvert.SerializeObject(dgData);
                    return dgJson;
                }
                catch (Exception e)
                {
                    log.Debug("出错原因:" + e.Message);
                    throw;
                }
            }
    
            [Action]
            [SessionMode(SessionMode.Support)]
            public void DownloadAttachment(string filepath,string filename)
            {
                try
                {
                    using (var fs = new FileStream(filepath, FileMode.OpenOrCreate))
                    {
                        var bytes = new byte[(int)fs.Length];
                        fs.Read(bytes, 0, bytes.Length);
                        fs.Close();
                        HttpContext.Current.Response.Clear();
                        HttpContext.Current.Response.ContentType = "application/octet-stream";
                        //通知浏览器下载文件而不是打开
                        HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;  filename=" + HttpUtility.UrlEncode(filename, Encoding.UTF8));
                        HttpContext.Current.Response.BinaryWrite(bytes);
                        HttpContext.Current.Response.Flush();
                        fs.Close();
                    }
                }
                catch (Exception e)
                {
                    log.Debug("出错原因:" + e.Message);
                    throw;
                }
            }
  • 相关阅读:
    移动零【283】
    下一个排列【31】
    插入区间【57】
    有效的山脉数组【941】
    两个数组的交集【349】
    求根到叶子节点数字之和【129】
    解决已经pip 安装成功的第三方包,但总是标红或者运行报错import PendingDeprecationWarning
    String、StringBuffer与StringBuilder之间区别
    《Java 核心技术第 10 版》-- 读书笔记
    【转载】如何保证消息不被重复消费?
  • 原文地址:https://www.cnblogs.com/zhangwei595806165/p/5160942.html
Copyright © 2011-2022 走看看