>  기사  >  백엔드 개발  >  MVC+WCF 프레임워크에 따른 광고 공간 관리 - 파일 업로드

MVC+WCF 프레임워크에 따른 광고 공간 관리 - 파일 업로드

黄舟
黄舟원래의
2017-02-23 09:50:441413검색

광고 공간은 홈페이지의 필수 컨텐츠 중 하나이자, 홈페이지에 직접적으로 경제적 이익을 가져올 수 있는 컨텐츠 중 하나이기도 합니다. 좋은 광고 공간은 고객을 압도할 뿐만 아니라 웹사이트의 아름다움을 더하고 마무리 작업을 하게 됩니다. 따라서 좋은 광고 공간을 디자인하는 것도 개발 과정에서 중요한 단계입니다.
저는 현재 보석 테스트 스테이션 프로젝트를 진행하고 있는데 관리 페이지에는 광고 공간 관리가 포함되어 있습니다. 이전 프로젝트에는 광고 공간이 많았지만 이에 대한 책임은 없습니다. 일반적인 아이디어는 관리 페이지에서 해당 사진을 업로드하고 데이터베이스에 저장한 다음 업로드된 모든 사진 중에서 하나를 선택하여 웹사이트 홈페이지에 표시하는 것입니다. 원리는 크게 어렵지 않으나 성능 문제를 고려하여 데이터베이스에 이미지를 저장하는 경로만 필요합니다.
요점은 MVC+WCF와 같은 프레임워크에서는 조금 어려울 수 있다는 점입니다. 온라인 블로거들과 공유하고 팀 내에서 소통하고 나면 데이터베이스 업로드 및 저장이라는 가장 기본적인 기능이 달성되었습니다. 홈페이지에는 5개의 광고 공간이 있습니다. 광고 공간의 위치와 크기가 다르기 때문에 물론 과금 기준도 다릅니다. 하하~~ 처음에는 각 광고 공간에 별도의 관리 단위가 있도록 설계했습니다. 구체적인 구현은 광고 공간 관리입니다. 페이지에는 5개의 Datagrad가 있으며 각 테이블은 데이터베이스에 저장된 이러한 유형의 광고 공간에 대한 이미지 경로와 해당 정보를 표시하는 데 사용됩니다.

아래 그림과 같습니다:
MVC+WCF 프레임워크에 따른 광고 공간 관리 - 파일 업로드

라디오 버튼을 조작하면 데이터베이스의 모든 데이터가 테이블에 표시됩니다. 어떤 광고 이미지를 먼저 표시할지 결정합니다. (라디오버튼의 name 속성을 통일적으로 명명하고, 테이블 전체의 라디오버튼을 그룹으로 설정해야 합니다.)
여기서 우리가 중점을 두는 것은 파일 업로드입니다. 이미지를 직접 저장하지 않고 데이터베이스에 경로만 저장하는 이유는 무엇입니까? 우선 대부분의 개발자가 하는 일이고, 둘째로 어느 정도 경로 저장이 이미지보다 성능이 더 좋습니다. 실제로 MVC로 구현했기 때문에 많은 말은 생략하고 바로 코드로 넘어가겠습니다.

View

<h2>上传文件</h2>
@using(Html.BeginForm("FileUpLoad","AdvertisementManage",FormMethod.Post,new{enctype="multipart/form-data"}))
{
<br />
@*输入赞助商名称*@<input type="text" name="AdvertisementName" />
@*上传文件*@<input type="file" name="file" />
@*提交*@<input type="submit" name="UploadFile" />
}

Controller

        public  ActionResult FileUpLoad()
        {
            HttpPostedFileBase file = Request.Files["file"];//获得上传文件

            //判断文件内容是否为空
            if (file != null)
            {                string filePath = Path.Combine(HttpContext.Server.MapPath("../images"), Path.GetFileName(file.FileName)); //设置文件保存路径
                file.SaveAs(filePath);//将文件保存到filePath路径下

                Guid g = new Guid("6dc3f7db-f038-4c48-9564-0ac52e0e29c1");                //实例化viewmodel,给属性赋值
                AdvertisementManageViewModel advertisement=new AdvertisementManageViewModel();
                advertisement .AdvertisementID=System.Guid.NewGuid();
                advertisement.AdvertisementName = Request.Form["AdvertisementName"];
                advertisement.AdvertisementUrl = filePath;
                advertisement.TimeStamp = DateTime.Now;
                advertisement.UserID = g;
                advertisement.IsEnable = 0;                var service = ServiceFactory.GetService();//声明WCF服务
                var s = service.AddAdvertisement(advertisement);//调用服务端的添加方法,将广告内容保存到数据库


                //如果保存成功,返回FileUpLoad视图
                if (true)
                {                    return RedirectToAction("FileUpLoad", "AdvertisementManage");
                }

            }            else
            {                //return Content("<script>alert(&#39;上传失败!&#39;)</script>");
                return View();
            }
        }

Rendering
MVC+WCF 프레임워크에 따른 광고 공간 관리 - 파일 업로드

현재 구현된 기능은 다음과 같습니다. 두 스타일 모두 그리고 논리는 최적화되어야 합니다. 나는 모든 사람들과 간단한 원칙을 공유하고, 단점이 있다면 바로잡아주세요.

광고 공간은 홈페이지의 필수 컨텐츠 중 하나이자, 홈페이지에 직접적으로 경제적 이익을 가져올 수 있는 컨텐츠 중 하나이기도 합니다. 좋은 광고 공간은 고객을 압도할 뿐만 아니라 웹사이트의 아름다움을 더하고 마무리 작업을 하게 됩니다. 따라서 좋은 광고 공간을 디자인하는 것도 개발 과정에서 중요한 단계입니다.
저는 현재 보석 테스트 스테이션 프로젝트를 진행하고 있으며 관리 페이지에는 광고 공간 관리가 포함되어 있습니다. 이전 프로젝트에는 광고 공간이 많았지만 이에 대한 책임은 없습니다. 일반적인 아이디어는 관리 페이지에서 해당 사진을 업로드하고 데이터베이스에 저장한 다음 업로드된 모든 사진 중에서 하나를 선택하여 웹사이트 홈페이지에 표시하는 것입니다. 원리는 크게 어렵지 않으나 성능 문제를 고려하여 데이터베이스에 이미지를 저장하는 경로만 필요합니다.
요점은 MVC+WCF와 같은 프레임워크에서는 조금 어려울 수 있다는 점입니다. 온라인 블로거들과 공유하고 팀 내에서 소통하고 나면 데이터베이스 업로드 및 저장이라는 가장 기본적인 기능이 달성되었습니다. 홈페이지에는 5개의 광고 공간이 있습니다. 광고 공간의 위치와 크기가 다르기 때문에 물론 과금 기준도 다릅니다. 하하~~ 처음에는 각 광고 공간에 별도의 관리 단위가 있도록 설계했습니다. 구체적인 구현은 광고 공간 관리입니다. 페이지에는 5개의 Datagrad가 있으며 각 테이블은 데이터베이스에 저장된 이러한 유형의 광고 공간에 대한 이미지 경로와 해당 정보를 표시하는 데 사용됩니다.

아래와 같습니다:
MVC+WCF 프레임워크에 따른 광고 공간 관리 - 파일 업로드

데이터베이스의 모든 데이터가 테이블에 표시되며, 조작을 통해 어떤 것을 먼저 표시할지 결정할 수 있습니다. 광고 사진 표시 여부에 대한 라디오 버튼입니다. (라디오버튼의 name 속성을 통일적으로 명명하고, 테이블 전체의 라디오버튼을 그룹으로 설정해야 합니다.)
여기서 우리가 중점을 두는 것은 파일 업로드입니다. 이미지를 직접 저장하지 않고 데이터베이스에 경로만 저장하는 이유는 무엇입니까? 우선 대부분의 개발자가 하는 일이고, 둘째로 어느 정도 경로 저장이 이미지보다 성능이 더 좋습니다. 실제로 MVC로 구현했기 때문에 많은 말은 생략하고 바로 코드로 넘어가겠습니다.

View

<h2>上传文件</h2>
@using(Html.BeginForm("FileUpLoad","AdvertisementManage",FormMethod.Post,new{enctype="multipart/form-data"}))
{
<br />
@*输入赞助商名称*@<input type="text" name="AdvertisementName" />
@*上传文件*@<input type="file" name="file" />
@*提交*@<input type="submit" name="UploadFile" />
}

Controller

        public  ActionResult FileUpLoad()
        {
            HttpPostedFileBase file = Request.Files["file"];//获得上传文件

            //判断文件内容是否为空
            if (file != null)
            {                string filePath = Path.Combine(HttpContext.Server.MapPath("../images"), Path.GetFileName(file.FileName)); //设置文件保存路径
                file.SaveAs(filePath);//将文件保存到filePath路径下

                Guid g = new Guid("6dc3f7db-f038-4c48-9564-0ac52e0e29c1");                //实例化viewmodel,给属性赋值
                AdvertisementManageViewModel advertisement=new AdvertisementManageViewModel();
                advertisement .AdvertisementID=System.Guid.NewGuid();
                advertisement.AdvertisementName = Request.Form["AdvertisementName"];
                advertisement.AdvertisementUrl = filePath;
                advertisement.TimeStamp = DateTime.Now;
                advertisement.UserID = g;
                advertisement.IsEnable = 0;                var service = ServiceFactory.GetService();//声明WCF服务
                var s = service.AddAdvertisement(advertisement);//调用服务端的添加方法,将广告内容保存到数据库


                //如果保存成功,返回FileUpLoad视图
                if (true)
                {                    return RedirectToAction("FileUpLoad", "AdvertisementManage");
                }

            }            else
            {                //return Content("<script>alert(&#39;上传失败!&#39;)</script>");
                return View();
            }
        }

Rendering
MVC+WCF 프레임워크에 따른 광고 공간 관리 - 파일 업로드

위는 MVC+WCF에서의 광고 공간 관리입니다. 프레임워크— —파일 업로드 내용, 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트(www.php.cn)를 참고하세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:ASPX와 면도기다음 기사:ASPX와 면도기