public ResponseModel DownLoadCSVFile()
        {
            string out_msg   = string.Empty;
            string proc_name = xmlCommonUtil.PROCEDURE_TITLE;

            SqlParameter[] sqlparams = xmlCommonUtil.SQLPARAMETERS;
            DataSet        ds        = null;

            try
            {
                ds = xmlCommonUtil.ReturnDataSet_Common(proc_name, sqlparams, false, out out_msg);
            }
            catch (Exception ex)
            {
                //out_msg = xmlCommonUtil.returnErrorMSGXML("DownLoadCSVFile", ex);
                return(xmlCommonUtil.returnErrorMSGXML("DownLoadCSVFile", ex));
            }

            //if (!string.IsNullOrEmpty(out_msg))
            //{
            //    xmlCommonUtil.ResponseWrite(out_msg);
            //    return null;
            //}

            if (ds == null || ds.Tables.Count == 0)
            {
                return(xmlCommonUtil.ResponseWriteErrorMSG("DownLoadCSVFile 리턴 데이터에 오류가 있습니다."));
                //return null;
            }

            return(this.MakeCSVFile(ds));
        }
示例#2
0
        private ResponseModel DownloadFile_Response()
        {
            //_httpContext.Response.ClearHeaders();
            //_httpContext.Response.ClearContent();
            //_httpContext.Response.Clear();

            //string xmldata = XMLCommonUtil.XMLHeader;

            string fileFullPath = this.ReturnFileFullPath(ATTACHMENT_KEY);

            try
            {
                //가져온 파일정보에 맞는 파일을 리턴한다.
                if (File.Exists(fileFullPath))
                {
                    FileInfo fileInfo = new FileInfo(fileFullPath);
                    //헤더에 파일이름 지정하기
                    //_httpContext.Response.AddHeader("Content-Disposition", "attachment;filename=" + _httpContext.Server.UrlPathEncode(fileInfo.Name));
                    //_httpContext.Response.ContentType = "multipart/form-data";

                    //_httpContext.Response.WriteFile(fileFullPath);

                    byte[] buffer = null;
                    using (var stream = fileInfo.OpenRead())
                    {
                        using (var reader = new BinaryReader(stream))
                        {
                            buffer = reader.ReadBytes((int)fileInfo.Length);

                            reader.Close();
                        }

                        stream.Close();
                    }

                    return(new FileResponseModel
                    {
                        // TODO Uri encode가 필요한가?
                        FileName = fileInfo.Name,
                        // https://developer.mozilla.org/ko/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types
                        ContentType = "application/octet-stream",
                        Content = buffer,
                    });
                }

                return(xmlCommonUtil.returnMSGXML("100", "해당 파일이 존재하지 않습니다."));

                /*
                 * else
                 * {
                 *  xmldata += xmlCommonUtil.returnMSGXML("100", "해당 파일이 존재하지 않습니다.");
                 *
                 *  _httpContext.Response.Write(xmldata);
                 * }
                 * //*/
            }
            catch (Exception ex)
            {
                //xmldata += xmlCommonUtil.returnErrorMSGXML("httpservice(DownloadFile).Error check", ex);

                //_httpContext.Response.Write(xmldata);

                var data = xmlCommonUtil.returnErrorMSGXML("httpservice(DownloadFile).Error check", ex);
                return(data);
            }
            finally
            {
                //_httpContext.Response.End();
            }
        }