Heim  >  Artikel  >  Backend-Entwicklung  >  Werbeflächenverwaltung im Rahmen des MVC+WCF-Frameworks – Datei-Upload

Werbeflächenverwaltung im Rahmen des MVC+WCF-Frameworks – Datei-Upload

黄舟
黄舟Original
2017-02-23 09:50:441457Durchsuche

Werbeflächen sind einer der wesentlichen Inhalte der Website und auch einer der Inhalte, die unserer Website unmittelbar wirtschaftliche Vorteile bringen können. Eine gute Werbefläche wird den Gast nicht nur nicht überfordern, sondern auch zur Schönheit unserer Website beitragen und ihr den letzten Schliff geben. Daher ist die Gestaltung einer guten Werbefläche auch ein wichtiger Schritt im Entwicklungsprozess.
Ich arbeite derzeit an einem Schmuckteststationsprojekt und die Verwaltungsseite umfasst die Verwaltung von Werbeflächen. In früheren Projekten gab es viele Werbeflächen, für die ich jedoch nicht verantwortlich war. Die allgemeine Idee besteht darin, das entsprechende Bild von der Verwaltungsseite hochzuladen, es in der Datenbank zu speichern und dann eines aus allen hochgeladenen Bildern auszuwählen, um es auf der Startseite der Website anzuzeigen. Das Prinzip ist nicht allzu schwierig, aber aus Performancegründen benötigen wir lediglich den Pfad zum Speichern des Bildes in der Datenbank.
Der Punkt ist, dass es unter einem Framework wie MVC+WCF etwas schwierig sein kann. Nach dem Teilen mit Online-Bloggern und der Kommunikation innerhalb des Teams wurden die grundlegendsten Funktionen zum Hochladen und Speichern der Datenbank erreicht. Auf der Homepage der Website gibt es fünf Werbeflächen. Aufgrund der unterschiedlichen Standorte und Größen der Werbeflächen sind natürlich auch die Gebührenstandards unterschiedlich. Wir haben zunächst jede Werbefläche so konzipiert, dass sie eine eigene Verwaltungseinheit hat Die spezifische Implementierung ist die Verwaltung von Werbeflächen. Die Seite verfügt über fünf Datagrads, und jede Tabelle wird verwendet, um den Bildpfad und die entsprechenden Informationen dieser Art von Werbeflächen anzuzeigen, die in der Datenbank gespeichert sind.

Wie unten gezeigt:
Werbeflächenverwaltung im Rahmen des MVC+WCF-Frameworks – Datei-Upload

Alle Daten in der Datenbank werden in der Tabelle angezeigt, indem Sie das Optionsfeld betätigen ob die Spalte angezeigt werden soll. Legt fest, welches Anzeigenbild zuerst angezeigt wird. (Sie müssen das Namensattribut der Optionsfelder einheitlich benennen und die Optionsfelder der gesamten Tabelle als Gruppe festlegen)
Worauf wir uns hier konzentrieren, ist das Hochladen von Dateien. Warum nur den Pfad in der Datenbank speichern, anstatt das Bild direkt zu speichern? Erstens ist dies das, was die meisten Entwickler tun, und zweitens ist das Speichern von Pfaden bis zu einem gewissen Grad leistungsfähiger als Bilder. Ich habe es tatsächlich in MVC implementiert, daher werde ich nicht viel sagen und direkt zum Code gehen.

Ansicht

<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
Werbeflächenverwaltung im Rahmen des MVC+WCF-Frameworks – Datei-Upload

Das sind alles die Funktionen Die derzeit implementierten Elemente müssen hinsichtlich Stil und Logik optimiert werden. Wenn es Mängel gibt, kritisieren und korrigieren Sie diese.

Werbeflächen sind einer der wesentlichen Inhalte der Website und auch einer der Inhalte, die unserer Website unmittelbar wirtschaftliche Vorteile bringen können. Eine gute Werbefläche wird den Gast nicht nur nicht überfordern, sondern auch zur Schönheit unserer Website beitragen und ihr den letzten Schliff geben. Daher ist die Gestaltung einer guten Werbefläche auch ein wichtiger Schritt im Entwicklungsprozess.
Ich arbeite derzeit an einem Schmuckteststationsprojekt und die Verwaltungsseite umfasst die Verwaltung von Werbeflächen. In früheren Projekten gab es viele Werbeflächen, für die ich jedoch nicht verantwortlich war. Die allgemeine Idee besteht darin, das entsprechende Bild von der Verwaltungsseite hochzuladen, es in der Datenbank zu speichern und dann eines aus allen hochgeladenen Bildern auszuwählen, um es auf der Homepage der Website anzuzeigen. Das Prinzip ist nicht allzu schwierig, aber aus Leistungsgründen benötigen wir nur den Pfad zum Speichern des Bildes in der Datenbank.
Der Punkt ist, dass es unter einem Framework wie MVC + WCF etwas schwierig sein kann. Nach dem Teilen mit Online-Bloggern und der Kommunikation innerhalb des Teams wurden die grundlegendsten Funktionen zum Hochladen und Speichern der Datenbank erreicht. Auf der Homepage der Website gibt es fünf Werbeflächen. Aufgrund der unterschiedlichen Standorte und Größen der Werbeflächen sind natürlich auch die Gebührenstandards unterschiedlich. Wir haben zunächst jede Werbefläche so konzipiert, dass sie eine eigene Verwaltungseinheit hat Die spezifische Implementierung ist die Verwaltung von Werbeflächen. Die Seite verfügt über fünf Datagrads, und jede Tabelle wird verwendet, um den Bildpfad und die entsprechenden Informationen dieser Art von Werbeflächen anzuzeigen, die in der Datenbank gespeichert sind.

Wie unten gezeigt:
Werbeflächenverwaltung im Rahmen des MVC+WCF-Frameworks – Datei-Upload

Alle Daten in der Datenbank werden in der Tabelle angezeigt, und Sie können durch Bedienen bestimmen, welche Daten zuerst angezeigt werden sollen das Optionsfeld, ob die Spalte Werbebilder angezeigt werden soll. (Sie müssen das Namensattribut der Optionsfelder einheitlich benennen und die Optionsfelder der gesamten Tabelle als Gruppe festlegen)
Worauf wir uns hier konzentrieren, ist das Hochladen von Dateien. Warum nur den Pfad in der Datenbank speichern, anstatt das Bild direkt zu speichern? Erstens ist das das, was die meisten Entwickler tun, und zweitens ist das Speichern von Pfaden bis zu einem gewissen Grad performanter als Bilder. Ich habe es tatsächlich in MVC implementiert, daher werde ich nicht viel sagen und direkt zum Code gehen.

Ansicht

<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
Werbeflächenverwaltung im Rahmen des MVC+WCF-Frameworks – Datei-Upload

Das Obige ist das MVC+WCF-Framework Werbeflächenverwaltung – Datei-Upload-Inhalte. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:ASPX und RazorNächster Artikel:ASPX und Razor