当前位置: 首页 > wzjs >正文

网站搭建设计范文免费推广公司

网站搭建设计范文,免费推广公司,做红酒网站,做优化的网站电话新闻消息等发布需要富文本编辑发布及修改。记录下: 1.采用kindeditor免费插件 2.kindeditor插件图片上传采用了iframe&#xff0c;默认违反了跨域访问的限制。需要将 [ValidateAntiForgeryToken]去掉。 3.具体配置.要求jquery在前面。 <script src"http://code.jq…

新闻消息等发布需要富文本编辑发布及修改。记录下:

1.采用kindeditor免费插件

2.kindeditor插件图片上传采用了iframe,默认违反了跨域访问的限制。需要将  [ValidateAntiForgeryToken]去掉。

3.具体配置.要求jquery在前面。

<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="~/js/jquery.uniform.min.js"></script>
<link rel="stylesheet" href="~/lib/themes/default/default.css" />
<script src="~/lib/kindeditor-all-min.js"></script>
<script src="~/lib/lang/zh-CN.js"></script>

<script type="text/javascript">
    // 初始化 KindEditor
    KindEditor.ready(function (K) {
        window.editor = K.create('#editor', {
            width: '100%', // 编辑器宽度
            height: '500px', // 编辑器高度
            langType: 'zh-CN', // 设置为中文
            uploadJson: '/News/UploadImage', // 图片上传接口
            allowFileManager: false // 是否显示文件管理器
            
        });
         
    });
</script>

4.配合发布页面信息

    <form asp-action="Create">
   
    <div class="form-group">
        <label asp-for="Content" class="control-label"></label>
        <textarea id="editor"  asp-for="Content"></textarea>
        <span asp-validation-for="Content" class="text-danger"></span>
    </div>
   
    <div class="form-group">
        <input type="submit" value="Create" class="btn btn-primary" />
    </div>
</form>

5.create页面信息 正常写即可,kindeditor插件会将编辑内容以string类型放到textarea

  [HttpPost]
     
  public async Task<IActionResult> Create( News news)
  {
      if (ModelState.IsValid)
      {
          _context.Add(news);
          await _context.SaveChangesAsync();
          return RedirectToAction(nameof(Index));
      }
      return View(news);
  }

6.在controller里添加图片上传功能,图片上传到wwwroot下的文件夹。

  [HttpPost]
  public async Task<IActionResult> UploadImage(IFormFile imgFile)
  {
      if (imgFile == null || imgFile.Length == 0)
      {
          return Json(new { error = 1, message = "文件为空" });
      }

      // 检查文件类型
      var allowedExtensions = new[] { ".jpg", ".jpeg", ".png", ".gif" };
      var fileExtension = Path.GetExtension(imgFile.FileName).ToLower();
      if (!allowedExtensions.Contains(fileExtension))
      {
          return Json(new { error = 1, message = "文件类型不支持" });
      }

      // 保存文件
      var uploadsFolder = Path.Combine(_env.WebRootPath, "uploads");
      if (!Directory.Exists(uploadsFolder))
      {
          Directory.CreateDirectory(uploadsFolder);
      }

      var fileName = Guid.NewGuid().ToString() + fileExtension;
      var filePath = Path.Combine(uploadsFolder, fileName);

      using (var stream = new FileStream(filePath, FileMode.Create))
      {
          await imgFile.CopyToAsync(stream);
      }

      // 返回 KindEditor 需要的 JSON 格式
      return Json(new
      {
          error = 0,
          url = $"/uploads/{fileName}"
      });
  }

7.修改同添加一样,但是delete要单独对图片进行删除,因为默认的只是删除了sqlserver里table的信息,文件夹下的图片需要格外处理。采用HtmlAgilityPack对table记录的string进行查找匹配处理。

   // POST: News/Delete/5
   [HttpPost, ActionName("Delete")]
   public async Task<IActionResult> DeleteConfirmed(int id)
   {
       var news = await _context.News.FindAsync(id);
      
       if (news != null)
       {
           _context.News.Remove(news);
           Removeimgs(news.Content);
       }

       await _context.SaveChangesAsync();
       return RedirectToAction(nameof(Index));
   }
   public void Removeimgs(string imgstrs)
   {
       var doc = new HtmlAgilityPack.HtmlDocument();
       doc.LoadHtml(imgstrs);
       var srcList = doc.DocumentNode.Descendants("img")
                       .Select(img => img.GetAttributeValue("src", ""))
                       .Where(s => !string.IsNullOrEmpty(s));
       foreach (var src in srcList) {
           if (!string.IsNullOrEmpty(src))
           {
               var oldFilePath =Path.Combine(_env.WebRootPath,src.TrimStart('/'));
               
               if (System.IO.File.Exists(oldFilePath))
               {
                   System.IO.File.Delete(oldFilePath);
               }
           }
       }
   }

8.在详细内容页面,需要将数据库中记录的string修改成html格式。

@Html.Raw(Model.Content)

​​​​​​

http://www.dtcms.com/wzjs/187156.html

相关文章:

  • 企业网上核名百度seo营销推广多少钱
  • 网站规划建设与管理维护的论文品牌策划方案怎么写
  • 网站做公司简介怎么做软文广告经典案例300
  • xp配置网站服务器线上推广外包公司
  • php建设网站后台营销软文100字
  • 响应式网站定制开发google商店
  • 设计排版优秀网站 今日头条
  • 自建网站优缺点网络推广平台软件app
  • 手机做网站知乎百度电脑网页版
  • 网站建设制作 南京公司seo五大经验分享
  • 全景网站制作教程优化网站价格
  • 提供网站建设备案报价新浪网今日乌鲁木齐新闻
  • 免费做情网站seo新人怎么发外链
  • 服装网站策划设计谷歌推广怎么样
  • 企业建设网站的规定网站推广排名
  • 访问美国网站 dns设置简述seo
  • 用本机做网站浏览企业培训课程种类
  • 做简单的动态网站教程网站建设需要多少钱?
  • 怎么做电脑端网站设计稿网络营销的六个特点
  • 东营网站关键字优化品牌网站建设解决方案
  • 过年做啥网站致富软文营销网站
  • 建设网站石家庄app推广公司
  • 手机网站模板在线建站搜索引擎优化培训班
  • 山西为啥突然爆发疫情宁波seo网站推广
  • 中邮通建设咨询有限公司官方网站可以直接打开网站的网页
  • 动态网站与静态网站的区别网站搜索系统
  • abc网站建设怎么样网站优化怎么操作
  • 做360手机网站优化快万网域名管理平台
  • wordpress 添加 常规长沙正规seo优化价格
  • 域名与网站建设seo的基础是什么