SpringBootWeb案例-2(上)

前面我们已经实现了员工信息的条件分页查询以及删除操作。 关于员工管理的功能,还有两个需要实现:

  • 新增员工
  • 修改员工

在这里插入图片描述

首先我们先完成"新增员工"的功能开发,再完成"修改员工"的功能开发。而在"新增员工"中,需要添加头像,而头像需要用到"文件上传"技术。 当整个员工管理功能全部开发完成之后,我们再通过配置文件来优化一些内容。

综上所述,我们今天的课程内容包含以下四个部分:

  • 新增员工
  • 文件上传
  • 修改员工
  • 配置文件

1. 新增员工

1.1 需求

在这里插入图片描述

在新增用户时,我们需要保存用户的基本信息,并且还需要上传的员工的图片,目前我们先完成第一步操作,保存用户的基本信息。

1.2 接口文档

我们参照接口文档来开发新增员工功能

  • 基本信息

    请求路径:/emps请求方式:POST接口描述:该接口用于添加员工的信息
    
  • 请求参数

    参数格式:application/json

    参数说明:

    名称类型是否必须备注
    usernamestring必须用户名
    namestring必须姓名
    gendernumber必须性别, 说明: 1 男, 2 女
    imagestring非必须图像
    deptIdnumber非必须部门id
    entrydatestring非必须入职日期
    jobnumber非必须职位, 说明: 1 班主任,2 讲师, 3 学工主管, 4 教研主管, 5 咨询师

    请求数据样例:

    {"image": "https://web-framework.oss-cn-hangzhou.aliyuncs.com/2022-09-03-07-37-38222.jpg","username": "linpingzhi","name": "林平之","gender": 1,"job": 1,"entrydate": "2022-09-18","deptId": 1
    }
    
  • 响应数据

    参数格式:application/json

    参数说明:

    参数名类型是否必须备注
    codenumber必须响应码,1 代表成功,0 代表失败
    msgstring非必须提示信息
    dataobject非必须返回的数据

    响应数据样例:

    {"code":1,"msg":"success","data":null
    }
    

1.3 思路分析

新增员工的具体的流程:

在这里插入图片描述

接口文档规定:

  • 请求路径:/emps
  • 请求方式:POST
  • 请求参数:Json格式数据
  • 响应数据:Json格式数据

问题1:如何限定请求方式是POST?

@PostMapping

问题2:怎么在controller中接收json格式的请求参数?

@RequestBody  //把前端传递的json数据填充到实体类中

1.4 功能开发

EmpController

@Slf4j
@RestController
@RequestMapping("/emps")
public class EmpController {@Autowiredprivate EmpService empService;//新增@PostMappingpublic Result save(@RequestBody Emp emp){//记录日志log.info("新增员工, emp:{}",emp);//调用业务层新增功能empService.save(emp);//响应return Result.success();}//省略...
}

EmpService

public interface EmpService {/*** 保存员工信息* @param emp*/void save(Emp emp);//省略...
}

EmpServiceImpl

@Slf4j
@Service
public class EmpServiceImpl implements EmpService {@Autowiredprivate EmpMapper empMapper;@Overridepublic void save(Emp emp) {//补全数据emp.setCreateTime(LocalDateTime.now());emp.setUpdateTime(LocalDateTime.now());//调用添加方法empMapper.insert(emp);}//省略...
}

EmpMapper

@Mapper
public interface EmpMapper {//新增员工@Insert("insert into emp (username, name, gender, image, job, entrydate, dept_id, create_time, update_time) " +"values (#{username}, #{name}, #{gender}, #{image}, #{job}, #{entrydate}, #{deptId}, #{createTime}, #{updateTime});")void insert(Emp emp);//省略...
}

1.5 功能测试

代码开发完成后,重启服务器,打开Postman发送 POST 请求,请求路径:http://localhost:8080/emps

在这里插入图片描述

1.6 前后端联调

功能测试通过后,我们再进行通过打开浏览器,测试后端功能接口:

在这里插入图片描述

在这里插入图片描述

2. 文件上传

在我们完成的新增员工功能中,还存在一个问题:没有头像(图片缺失)

在这里插入图片描述

上述问题,需要我们通过文件上传技术来解决。下面我们就进入到文件上传技术的学习。

文件上传技术这块我们主要讲解三个方面:首先我们先对文件上传做一个整体的介绍,接着再学习文件上传的本地存储方式,最后学习云存储方式。

接下来我们就先来学习下什么是文件上传。

2.1 简介

文件上传,是指将本地图片、视频、音频等文件上传到服务器,供其他用户浏览或下载的过程。

文件上传在项目中应用非常广泛,我们经常发微博、发微信朋友圈都用到了文件上传功能。

在这里插入图片描述

在我们的案例中,在新增员工的时候,要上传员工的头像,此时就会涉及到文件上传的功能。在进行文件上传时,我们点击加号或者是点击图片,就可以选择手机或者是电脑本地的图片文件了。当我们选择了某一个图片文件之后,这个文件就会上传到服务器,从而完成文件上传的操作。

想要完成文件上传这个功能需要涉及到两个部分:

  1. 前端程序
  2. 服务端程序

我们先来看看在前端程序中要完成哪些代码:

<form action="/upload" method="post" enctype="multipart/form-data">姓名: <input type="text" name="username"><br>年龄: <input type="text" name="age"><br>头像: <input type="file" name="image"><br><input type="submit" value="提交">
</form>

上传文件的原始form表单,要求表单必须具备以下三点(上传文件页面三要素):

  • 表单必须有file域,用于选择要上传的文件

    <input type="file" name="image"/>
    
  • 表单提交方式必须为POST

    通常上传的文件会比较大,所以需要使用 POST 提交方式

  • 表单的编码类型enctype必须要设置为:multipart/form-data

    普通默认的编码格式是不适合传输大型的二进制数据的,所以在文件上传时,表单的编码格式必须设置为multipart/form-data

前端页面的3要素我们了解后,接下来我们就来验证下所讲解的文件上传3要素。

在提供的"课程资料"中有一个名叫"文件上传"的文件夹,直接将里的"upload.html"文件,复制到springboot项目工程下的static目录里面。

在这里插入图片描述

下面我们来验证:删除form表单中enctype属性值,会是什么情况?

  1. 在IDEA中直接使用浏览器打开upload.html页面

在这里插入图片描述

  1. 选择要上传的本地文件

在这里插入图片描述

  1. 点击"提交"按钮,进入到开发者模式观察

在这里插入图片描述

在这里插入图片描述

我们再来验证:设置form表单中enctype属性值为multipart/form-data,会是什么情况?

 <form action="/upload" method="post" enctype="multipart/form-data">姓名: <input type="text" name="username"><br>年龄: <input type="text" name="age"><br>头像: <input type="file" name="image"><br><input type="submit" value="提交"></form>

在这里插入图片描述

在这里插入图片描述

知道了前端程序中需要设置上传文件页面三要素,那我们的后端程序又是如何实现的呢?

  • 首先在服务端定义这么一个controller,用来进行文件上传,然后在controller当中定义一个方法来处理/upload 请求

  • 在定义的方法中接收提交过来的数据 (方法中的形参名和请求参数的名字保持一致)

    • 用户名:String name
    • 年龄: Integer age
    • 文件: MultipartFile image

    Spring中提供了一个API:MultipartFile,使用这个API就可以来接收到上传的文件

在这里插入图片描述

问题:如果表单项的名字和方法中形参名不一致,该怎么办?

  • public Result upload(String username,Integer age, MultipartFile file) //file形参名和请求参数名image不一致
    

解决:使用@RequestParam注解进行参数绑定

  • public Result upload(String username,Integer age, @RequestParam("image") MultipartFile file)
    

UploadController代码:

@Slf4j
@RestController
public class UploadController {@PostMapping("/upload")public Result upload(String username, Integer age, MultipartFile image)  {log.info("文件上传:{},{},{}",username,age,image);return Result.success();}}

后端程序编写完成之后,打个断点,以debug方式启动SpringBoot项目

在这里插入图片描述

打开浏览器输入:http://localhost:8080/upload.html , 录入数据并提交

在这里插入图片描述

通过后端程序控制台可以看到,上传的文件是存放在一个临时目录

在这里插入图片描述

打开临时目录可以看到以下内容:

在这里插入图片描述

表单提交的三项数据(姓名、年龄、文件),分别存储在不同的临时文件中:

在这里插入图片描述

当我们程序运行完毕之后,这个临时文件会自动删除。

所以,我们如果想要实现文件上传,需要将这个临时文件,要转存到我们的磁盘目录中。

2.2 本地存储

前面我们已分析了文件上传功能前端和后端的基础代码实现,文件上传时在服务端会产生一个临时文件,请求响应完成之后,这个临时文件被自动删除,并没有进行保存。下面呢,我们就需要完成将上传的文件保存在服务器的本地磁盘上。

代码实现:

  1. 在服务器本地磁盘上创建images目录,用来存储上传的文件(例:E盘创建images目录)
  2. 使用MultipartFile类提供的API方法,把临时文件转存到本地磁盘目录下

MultipartFile 常见方法:

  • String getOriginalFilename(); //获取原始文件名
  • void transferTo(File dest); //将接收的文件转存到磁盘文件中
  • long getSize(); //获取文件的大小,单位:字节
  • byte[] getBytes(); //获取文件内容的字节数组
  • InputStream getInputStream(); //获取接收到的文件内容的输入流
@Slf4j
@RestController
public class UploadController {@PostMapping("/upload")public Result upload(String username, Integer age, MultipartFile image) throws IOException {log.info("文件上传:{},{},{}",username,age,image);//获取原始文件名String originalFilename = image.getOriginalFilename();//将文件存储在服务器的磁盘目录image.transferTo(new File("E:/images/"+originalFilename));return Result.success();}}

利用postman测试:

注意:请求参数名和controller方法形参名保持一致

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

通过postman测试,我们发现文件上传是没有问题的。但是由于我们是使用原始文件名作为所上传文件的存储名字,当我们再次上传一个名为1.jpg文件时,发现会把之前已经上传成功的文件覆盖掉。

解决方案:保证每次上传文件时文件名都唯一的(使用UUID获取随机文件名)

@Slf4j
@RestController
public class UploadController {@PostMapping("/upload")public Result upload(String username, Integer age, MultipartFile image) throws IOException {log.info("文件上传:{},{},{}",username,age,image);//获取原始文件名String originalFilename = image.getOriginalFilename();//构建新的文件名String extname = originalFilename.substring(originalFilename.lastIndexOf("."));//文件扩展名String newFileName = UUID.randomUUID().toString()+extname;//随机名+文件扩展名//将文件存储在服务器的磁盘目录image.transferTo(new File("E:/images/"+newFileName));return Result.success();}}

在解决了文件名唯一性的问题后,我们再次上传一个较大的文件(超出1M)时发现,后端程序报错:

在这里插入图片描述

报错原因呢是因为:在SpringBoot中,文件上传时默认单个文件最大大小为1M

那么如果需要上传大文件,可以在application.properties进行如下配置:

#配置单个文件最大上传大小
spring.servlet.multipart.max-file-size=10MB#配置单个请求最大上传大小(一次请求可以上传多个文件)
spring.servlet.multipart.max-request-size=100MB

到时此,我们文件上传的本地存储方式已完成了。但是这种本地存储方式还存在一问题:

在这里插入图片描述

如果直接存储在服务器的磁盘目录中,存在以下缺点:

  • 不安全:磁盘如果损坏,所有的文件就会丢失
  • 容量有限:如果存储大量的图片,磁盘空间有限(磁盘不可能无限制扩容)
  • 无法直接访问

为了解决上述问题呢,通常有两种解决方案:

  • 自己搭建存储服务器,如:fastDFS 、MinIO
  • 使用现成的云服务,如:阿里云,腾讯云,华为云

2.3 阿里云OSS

2.3.1 准备

阿里云是阿里巴巴集团旗下全球领先的云计算公司,也是国内最大的云服务提供商 。

在这里插入图片描述

云服务指的就是通过互联网对外提供的各种各样的服务,比如像:语音服务、短信服务、邮件服务、视频直播服务、文字识别服务、对象存储服务等等。

当我们在项目开发时需要用到某个或某些服务,就不需要自己来开发了,可以直接使用阿里云提供好的这些现成服务就可以了。比如:在项目开发当中,我们要实现一个短信发送的功能,如果我们项目组自己实现,将会非常繁琐,因为你需要和各个运营商进行对接。而此时阿里云完成了和三大运营商对接,并对外提供了一个短信服务。我们项目组只需要调用阿里云提供的短信服务,就可以很方便的来发送短信了。这样就降低了我们项目的开发难度,同时也提高了项目的开发效率。(大白话:别人帮我们实现好了功能,我们只要调用即可)

云服务提供商给我们提供的软件服务通常是需要收取一部分费用的。

阿里云对象存储OSS(Object Storage Service),是一款海量、安全、低成本、高可靠的云存储服务。使用OSS,您可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种文件。

在这里插入图片描述

在我们使用了阿里云OSS对象存储服务之后,我们的项目当中如果涉及到文件上传这样的业务,在前端进行文件上传并请求到服务端时,在服务器本地磁盘当中就不需要再来存储文件了。我们直接将接收到的文件上传到oss,由 oss帮我们存储和管理,同时阿里云的oss存储服务还保障了我们所存储内容的安全可靠。

在这里插入图片描述

那我们学习使用这类云服务,我们主要学习什么呢?其实我们主要学习的是如何在项目当中来使用云服务完成具体的业务功能。而无论使用什么样的云服务,阿里云也好,腾讯云、华为云也罢,在使用第三方的服务时,操作的思路都是一样的。

在这里插入图片描述

SDK:Software Development Kit 的缩写,软件开发工具包,包括辅助软件开发的依赖(jar包)、代码示例等,都可以叫做SDK。

简单说,sdk中包含了我们使用第三方云服务时所需要的依赖,以及一些示例代码。我们可以参照sdk所提供的示例代码就可以完成入门程序。

第三方服务使用的通用思路,我们做一个简单介绍之后,接下来我们就来介绍一下我们当前要使用的阿里云oss对象存储服务具体的使用步骤。

在这里插入图片描述

Bucket:存储空间是用户用于存储对象(Object,就是文件)的容器,所有的对象都必须隶属于某个存储空间。

下面我们根据之前介绍的使用步骤,完成准备工作:

  1. 注册阿里云账户(注册完成后需要实名认证)
  2. 注册完账号之后,就可以登录阿里云

在这里插入图片描述

  1. 通过控制台找到对象存储OSS服务

在这里插入图片描述

如果是第一次访问,还需要开通对象存储服务OSS

在这里插入图片描述

在这里插入图片描述

  1. 开通OSS服务之后,就可以进入到阿里云对象存储的控制台

在这里插入图片描述

  1. 点击左侧的 “Bucket列表”,创建一个Bucket

在这里插入图片描述

在这里插入图片描述

大家可以参照"资料\04. 阿里云oss"中提供的文档,开通阿里云OSS服务。

2.3.2 入门

阿里云oss 对象存储服务的准备工作我们已经完成了,接下来我们就来完成第二步操作:参照官方所提供的sdk示例来编写入门程序。

首先我们需要来打开阿里云OSS的官方文档,在官方文档中找到 SDK 的示例代码:

在这里插入图片描述

在这里插入图片描述

如果是在实际开发当中,我们是需要从前往后仔细的去阅读这一份文档的,但是由于现在是教学,我们就只挑重点的去看。有兴趣的同学大家下来也可以自己去看一下这份官方文档。

在这里插入图片描述

在这里插入图片描述

参照官方提供的SDK,改造一下,即可实现文件上传功能:

import com.aliyun.oss.ClientException;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.OSSException;
import com.aliyun.oss.model.PutObjectRequest;
import com.aliyun.oss.model.PutObjectResult;import java.io.FileInputStream;
import java.io.InputStream;public class AliOssTest {public static void main(String[] args) throws Exception {// Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。String endpoint = "oss-cn-shanghai.aliyuncs.com";// 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。String accessKeyId = "LTAI5t9MZK8iq5T2Av5GLDxX";String accessKeySecret = "C0IrHzKZGKqU8S7YQcevcotD3Zd5Tc";// 填写Bucket名称,例如examplebucket。String bucketName = "web-framework01";// 填写Object完整路径,完整路径中不能包含Bucket名称,例如exampledir/exampleobject.txt。String objectName = "1.jpg";// 填写本地文件的完整路径,例如D:\\localpath\\examplefile.txt。// 如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件流。String filePath= "C:\\Users\\Administrator\\Pictures\\1.jpg";// 创建OSSClient实例。OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);try {InputStream inputStream = new FileInputStream(filePath);// 创建PutObjectRequest对象。PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, inputStream);// 设置该属性可以返回response。如果不设置,则返回的response为空。putObjectRequest.setProcess("true");// 创建PutObject请求。PutObjectResult result = ossClient.putObject(putObjectRequest);// 如果上传成功,则返回200。System.out.println(result.getResponse().getStatusCode());} catch (OSSException oe) {System.out.println("Caught an OSSException, which means your request made it to OSS, "+ "but was rejected with an error response for some reason.");System.out.println("Error Message:" + oe.getErrorMessage());System.out.println("Error Code:" + oe.getErrorCode());System.out.println("Request ID:" + oe.getRequestId());System.out.println("Host ID:" + oe.getHostId());} catch (ClientException ce) {System.out.println("Caught an ClientException, which means the client encountered "+ "a serious internal problem while trying to communicate with OSS, "+ "such as not being able to access the network.");System.out.println("Error Message:" + ce.getMessage());} finally {if (ossClient != null) {ossClient.shutdown();}}}
}

在以上代码中,需要替换的内容为:

  • accessKeyId:阿里云账号AccessKey
  • accessKeySecret:阿里云账号AccessKey对应的秘钥
  • bucketName:Bucket名称
  • objectName:对象名称,在Bucket中存储的对象的名称
  • filePath:文件路径

AccessKey :

在这里插入图片描述

运行以上程序后,会把本地的文件上传到阿里云OSS服务器上:

在这里插入图片描述

2.3.3 集成

阿里云oss对象存储服务的准备工作以及入门程序我们都已经完成了,接下来我们就需要在案例当中集成oss对象存储服务,来存储和管理案例中上传的图片。

在这里插入图片描述

在新增员工的时候,上传员工的图像,而之所以需要上传员工的图像,是因为将来我们需要在系统页面当中访问并展示员工的图像。而要想完成这个操作,需要做两件事:

  1. 需要上传员工的图像,并把图像保存起来(存储到阿里云OSS)
  2. 访问员工图像(通过图像在阿里云OSS的存储地址访问图像)
    • OSS中的每一个文件都会分配一个访问的url,通过这个url就可以访问到存储在阿里云上的图片。所以需要把url返回给前端,这样前端就可以通过url获取到图像。

我们参照接口文档来开发文件上传功能:

  • 基本信息

    请求路径:/upload请求方式:POST接口描述:上传图片接口
    
  • 请求参数

    参数格式:multipart/form-data

    参数说明:

    参数名称参数类型是否必须示例备注
    imagefile
  • 响应数据

    参数格式:application/json

    参数说明:

    参数名类型是否必须备注
    codenumber必须响应码,1 代表成功,0 代表失败
    msgstring非必须提示信息
    dataobject非必须返回的数据,上传图片的访问路径

    响应数据样例:

    {"code": 1,"msg": "success","data": "https://web-framework.oss-cn-hangzhou.aliyuncs.com/2022-09-02-00-27-0400.jpg"
    }
    

引入阿里云OSS上传文件工具类(由官方的示例代码改造而来)

import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;import java.io.IOException;
import java.io.InputStream;
import java.util.UUID;@Component
public class AliOSSUtils {private String endpoint = "https://oss-cn-shanghai.aliyuncs.com";private String accessKeyId = "LTAI5t9MZK8iq5T2Av5GLDxX";private String accessKeySecret = "C0IrHzKZGKqU8S7YQcevcotD3Zd5Tc";private String bucketName = "web-framework01";/*** 实现上传图片到OSS*/public String upload(MultipartFile multipartFile) throws IOException {// 获取上传的文件的输入流InputStream inputStream = multipartFile.getInputStream();// 避免文件覆盖String originalFilename = multipartFile.getOriginalFilename();String fileName = UUID.randomUUID().toString() + originalFilename.substring(originalFilename.lastIndexOf("."));//上传文件到 OSSOSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);ossClient.putObject(bucketName, fileName, inputStream);//文件访问路径String url = endpoint.split("//")[0] + "//" + bucketName + "." + endpoint.split("//")[1] + "/" + fileName;// 关闭ossClientossClient.shutdown();return url;// 把上传到oss的路径返回}
}

修改UploadController代码:

import com.itheima.pojo.Result;
import com.itheima.utils.AliOSSUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;@Slf4j
@RestController
public class UploadController {@Autowiredprivate AliOSSUtils aliOSSUtils;@PostMapping("/upload")public Result upload(MultipartFile image) throws IOException {//调用阿里云OSS工具类,将上传上来的文件存入阿里云String url = aliOSSUtils.upload(image);//将图片上传完成后的url返回,用于浏览器回显展示return Result.success(url);}}

使用postman测试:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/354232.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

微调样本质量胜于数量 LIMA: Less Is More for Alignment

1、总体介绍 大型语言模型的训练分为两个阶段&#xff1a;&#xff08;1&#xff09;从原始文本中进行无监督的预训练&#xff0c;以学习通用的表征&#xff1b;&#xff08;2&#xff09;大规模的指令学习和强化学习&#xff0c;以更好地适应最终任务和用户的偏好。 作者通过…

XP系统如何把文本转换成html,xp系统下将HTML文件设置为屏保的方法

关于XP系统的屏保设置&#xff0c;很多人脑子中肯定有个固定的样式&#xff0c;因为按照XP系统的传统来说&#xff0c;都是固定的按照图片来设置的&#xff0c;所以很多人就对屏保有了一定的硬性思维&#xff0c;就是只能是图片的形式。其实这样的想法是有所偏差的&#xff0c;…

linux6禁用屏幕保护程序,禁用屏幕保护程序(ScreenSaver Disabled)

禁用屏幕保护程序ScreenSaverDisabled是一款可以帮助用户朋友让自己的电脑不要总是被屏幕保护影响&#xff0c;有些设置隔三差五就会进入屏保状态&#xff0c;使用这款禁用屏幕保护程序ScreenSaverDisabled可以帮您解决这个烦恼。 相关软件软件大小版本说明下载地址 禁用屏幕保…

xp系统怎么定时锁定计算机,电脑怎么设置自动锁屏_XP系统电脑怎么设置自动锁屏...

摘要 腾兴网为您分享:XP系统电脑怎么设置自动锁屏&#xff0c;字体配置&#xff0c;智慧大学&#xff0c;掌上新华&#xff0c;小t智联等软件知识&#xff0c;以及mp3音乐裁剪器&#xff0c;小霸王&#xff0c;屏幕分屏软件&#xff0c;湖北网上税务局&#xff0c;照片印刷&…

汉字时钟屏保软件/汉字时钟电脑屏幕保护下载/汉字时钟屏保/windows屏保

软件名称&#xff1a;冷高轮时间汉字时钟屏保 软件语言&#xff1a;简体中文 软件类别&#xff1a;桌面工具 软件授权&#xff1a;免费软件 适用平台&#xff1a;WinXP, Win7, Win8, Win10, WinAll 电脑壁纸下载可在wallpaper engine或者upupoo上搜索全称“冷高轮时间‘ …

xp系统计算机不休眠设置,xp和win7系统怎么设置电脑不休眠详细教程

百度音乐播放器2017v10.1.8 官方最新版 类型&#xff1a;音频播放大小&#xff1a;14.3M语言&#xff1a;中文 评分&#xff1a;9.4 标签&#xff1a; 立即下载 电脑的休眠和睡眠的状态是什么样的&#xff1f; 休眠&#xff1a;就是把应用环境保存在硬盘上&#xff0c;直白地说…

电脑显示无法启动程序 因为计算机丢失,电脑显示无法启动此程序丢失.dll文件怎么办...

电脑显示"无法启动此程序"丢失.dll文件怎么办 【百度经验方法】

用vb写计算机程序代码,用VB编写的抽奖程序源代码随机抽取不重复

年度抽奖的小程序,可以自定义 年度抽奖小程序,您可以自定义背景,抽奖形式,设置奖品等. PPT彩票小程序 PPT开发工具彩票代码,VBA代码,每个需要它的人都可以下载.

Windows XP 禁用屏幕保护功能

在“桌面”上按快捷键“CtrlR”&#xff0c;调出“运行”窗口。接着&#xff0c;在“打开”后的输入框中输入“Gpedit.msc”。并按“确定”按钮。如下图 找到“用户配置”下的“管理模板”下的“控制面板”的“显示”&#xff0c;双击选择“屏幕保护程序”。如下图 在“屏幕保护…

此计算机屏保怎么取消,如何取消屏幕保护

上班候一会要用电脑&#xff0c;一会儿要做笔记什么的。可是电脑的屏幕保护太烦了一会儿又跳出来&#xff0c;这样搞得都没有办法好好查资料做笔记了。相信有很多朋友一样受着这样的的烦恼吧?不要着急&#xff0c;今天技术员来告诉大家如何取消屏幕保护吧。不过随着Xp系统的淘…

xp 无法关闭计算机,电脑xp系统关不了机怎么解决

有时候电脑关闭计算机时,总是提示“你现在可以安全关闭计算机了”,然后不能关机了这是什么回事呢?下面学习啦小编给大家讲解一下关于电脑xp系统关不了机的解决方法,希望大家喜欢! 电脑xp系统关不了机的解决方法 一、启动高级电源管理支持 无法自动关机是因为电源的设置不当…

Screen Saver Exporter for Mac(屏幕保护程序导出程序)

Screen Saver Exporter Mac破解版是一款适用于After Effects和Premiere Pro的屏幕保护程序导出程序插件。Screen Saver Exporter for Mac只需单击一下&#xff0c;即可将电影导出到屏幕保护程序&#xff0c;非常的方便快捷&#xff0c;有需要的小伙伴千万不要错过哦&#xff0c…

Win XP 如何禁用屏保

如果你试过 “在桌面空白处点击右键-【属性】-【屏幕保护程序】&#xff0c;选择【无】&#xff0c;点击【确定】”后&#xff0c;当时是可以去掉屏保。但如果重启计算机或者从待机状态唤醒后&#xff0c;屏保依然会出现&#xff0c;那么你可以试试下面的方法。 首先&#xff0…

计算机桌面黑屏时间,您必须等待至少一分钟,计算机才能将屏幕保护程序设置为使计算机黑屏...

有一些快捷键可以直接使计算机黑屏: 1. 按下电源按钮一次即可直接使计算机屏幕变黑 2. 按组合键“ Fn + F1”可直接使计算机屏幕变黑: Lenovo计算机使用此组合键,如果是其他品牌的计算机,则可以按键盘顶部标有Fn + F系列的按钮月亮 注意: 上述直接使计算机黑屏的方法是使计算…

用.NET设计一个假装黑客的屏幕保护程序

本文主要介绍屏幕保护程序的一些相关知识&#xff0c;以及其在安全方面的用途&#xff0c;同时介绍了如何使用 .NET 开发一款屏幕保护程序&#xff0c;并对核心功能做了介绍&#xff0c;案例代码开源&#xff1a;https://github.com/sangyuxiaowu/HackerScreenSaver 背景 前几…

xp系统计算机启动时灰色界面,windows xp系统下屏幕开始按钮变成灰色怎么处理

相信使用过windows xp系统的用户应该都知道&#xff0c;系统自带得有屏幕保护程序功能&#xff0c;然而有些时候可能操作不当导致屏幕保护程序的设置按钮为灰色无法设置的情况&#xff0c;那么在遇到这样的问题时应该怎么办呢?以下是针对此问题的具体解决方法介绍。 1、点击xp…

如何更改 Windows XP 中的 Windows 登录屏幕保护程序

本文分步介绍了如何更改 Microsoft Windows XP 中的默认登录屏幕保护程序。具体来说&#xff0c;文章讨论如何更改屏幕保护程序启动时&#xff0c;超时和屏幕保护程序启动之前&#xff0c;是否在登录过程之前打开屏幕保护程序的类型。当您启动 Windows 时&#xff0c;您可能会出…

怎样给计算机做屏幕保护,如何制作电脑屏保?XP系统中怎么制作动态屏幕保护?...

屏幕保护&#xff0c;各位都很熟悉&#xff0c;时钟屏保、泡泡屏保、海底世界动态屏保等各种屏幕保护用久了也看腻了&#xff0c;何不自己动手制作一个动态屏幕来玩&#xff1f;阅读下文了解XP系统制作动态屏幕保护的方法。闲暇的时候尝试着为自己的桌面制作一个屏保吧。 屏幕保…

3D打印机分类汇总

1 根据市场定位分类 当今市面上应用比较多的3D打印机是SLS、SLA、DLP、FDM四种3D打印机&#xff0c;按照用途可分为两类&#xff1a;一类是高精度工业打印机&#xff0c;比如SLA、DLP、SLS&#xff1b;一类是以FDM、SLA&#xff08;用于工业打印机更多&#xff09;为主的桌面级…

项目集管理—项目集治理

一、概述 项目集治理是实现和执行项目集决策&#xff0c;为支持项目集而制定实践&#xff0c;并维持项目集监督的绩效领域。 本章包括&#xff1a; 项目集治理实践项目集治理角色项目集治理设计与实施 项目集治理包括为了满足组织战略和运营目标的要求&#xff0c;对项目集实…