添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

废话不多说,直接上代码
一、异常捕捉类

public class BusinessException extends RuntimeException {
    public BusinessException(String msg){
        super(msg);

二、转换类

package com.example.answer_system.utils;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.web.multipart.MultipartFile;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
//文件转换工具
public class FileUtils {
     * 将网络文件转换为文件流
     * @param imageUrl
     * @return
    public static MultipartFile fileUrlConvertToMultipartFile(String imageUrl) {
        try {
            // 将在线图片地址转换为URL对象
            URL url = new URL(imageUrl);
            // 打开URL连接
            URLConnection connection = url.openConnection();
            // 转换为HttpURLConnection对象
            HttpURLConnection httpURLConnection = (HttpURLConnection) connection;
            // 获取输入流
            InputStream inputStream = httpURLConnection.getInputStream();
            // 读取输入流中的数据,并保存到字节数组中
            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
            byte[] buffer = new byte[1024];
            int bytesRead;
            while ((bytesRead = inputStream.read(buffer)) != -1) {
                byteArrayOutputStream.write(buffer, 0, bytesRead);
            // 将字节数组转换为字节数组
            byte[] bytes = byteArrayOutputStream.toByteArray();
            // 创建ByteArrayInputStream对象,将字节数组传递给它
            ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes);
            // 创建MultipartFile对象,将ByteArrayInputStream对象作为构造函数的参数
            MultipartFile multipartFile = new MockMultipartFile("file", "filename.jpg", "image/jpg", byteArrayInputStream);
            return multipartFile;
        }catch (IOException ex){
            ex.printStackTrace();
            throw new BusinessException("附件无效");
                                    public InputStream getInputStreamByUrl(String strUrl) {
        HttpURLConnection conn = null;
        try {
            URL url = new URL(strUrl);
            conn = (HttpURLConnection...
                                    是 Java 中用于处理 HTTP 文件上传的一个接口。它通常与 Spring 框架一起使用,特别是在 Spring MVC 中,用于处理。类型的 HTTP 请求。当用户在网页表单中选择并上传文件时,服务器端的控制器方法可能会接收一个或多个。类型的参数来接收上传的文件。
try {            
                     URL videoImagePathUrl = new URL("file:///"+videoImagePath);    //一定要加    file:///
                     File f=new File(videoImagePathUrl.toURI());
                                    public static File getFile(String url) throws Exception {
    //对本地文件命名
    String fileName = url.substring(url.lastIndexOf("."),url.length());
    File file = null;
    URL urlfile;
    InputStream inStream = null;
    OutputStream os = null;
    try {
                                    ExcelReader excelReader = ExcelUtil.getReader(new File("C:\\Users\\20011709\\Desktop\\新建 Microsoft Excel 工作表.xlsx"));//            logger.info("文件名为:" + fileName + "  大小" + (conn.getContentLength()/1024)+"KB" + "   contentType=" + type);
                                    Java urlMultipartFile inputStreamFile filemultipartFile
	 * urlMultipartFile
	 * @param url
	 * @return
	 * @throws Exception
	public static MultipartFile urlToMultipartFile(String url) throws Exception {
		File file = null;
		MultipartFile mu
URL url = new URL("http://XXX");
//保存到D盘
File targetFile = new File("D:\\temp\\a.zip"); //只写a.zip保存到 主目录下
//把URL里的内容,拷贝到文件FileUtils.copyURLToFile(url, dirfile);
//执行保存
dirfile.createNewFile(); //不写这个代码,不会执行保存。
public static MultipartFile fileToMultipartFile(File file) throws IOException {
    FileItemFactory factory = new DiskFileItemFactory(16, null);
    FileItem item=factory.createItem(file.getName(),"text/plain",true,file.getName());
    int byte.
                                    import lombok.extern.slf4j.Slf4j;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.springframework.web.multipart.MultipartFile;
                                    工作中一场景,需要把fastdfs服务器上的远程文件化成MultipartFile,用来上传到minio服务器上。遇到一个问题,需要动态的获取到文凭的ContentType,以确保文件或图片能正常在浏览器中预览或下载(图片预览,其他文件直接下载),因为如果ContentType类型设置不正确会导致文件不能正常预览或下载。