src/NetCoreBBS/Controllers/UserController.cs

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using NetCoreBBS.Interfaces;
using NetCoreBBS.Entities;
using Microsoft.AspNetCore.Authorization;
using NetCoreBBS.ViewModels;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Hosting;
using System.IO;

namespace NetCoreBBS.Controllers
{
    [Authorize]
    public class UserController : Controller
    {
        private ITopicRepository _topic;
        private ITopicReplyRepository _reply;
        private UserManager<User> UserManager;
        private IWebHostEnvironment _env;
        public UserController(ITopicRepository topic, ITopicReplyRepository reply, UserManager<User> userManager, IWebHostEnvironment env)
        {
            _topic = topic;
            _reply = reply;
            UserManager = userManager;
            _env = env;
        }
        public IActionResult Index()
        {
            var u = UserManager.GetUserAsync(User).Result;
            var topics = _topic.List(r => r.UserId == u.Id).ToList();
            var replys = _reply.List(r => r.ReplyUserId == u.Id).ToList();
            ViewBag.Topics = topics;
            ViewBag.Replys = replys;
            return View(u);
        }

        public IActionResult Edit()
        {
            return View(UserManager.GetUserAsync(User).Result);
        }

        [HttpPost]
        [ValidateAntiForgeryToken]
        public async Task<IActionResult> Edit(UserViewModel usermodel)
        {
            var user = UserManager.GetUserAsync(User).Result;
            if (ModelState.IsValid)
            {
                if (usermodel.Avatar != null)
                {
                    var avatar = usermodel.Avatar;
                    if (avatar.Length / 1024 > 100)
                    {
                        return Content("头像文件大小超过100KB");
                    }
                    var ext = Path.GetExtension(avatar.FileName);
                    var avatarfile = user.Id + ext;
后面还有 22 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。