java通过STS上传文件到OSS
import com.aliyun.oss.OSS; import com.aliyun.oss.OSSClientBuilder; import com.aliyun.oss.model.PutObjectRequest; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.annotation.*; import java.io.IOException; import java.io.InputStream; import java.util.UUID; @WebServlet(name = "OssUpload", value = "/OssUpload") @MultipartConfig public class OssUploadServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String endpoint = "http://oss-cn-hangzhou.aliyuncs.com"; String accessKeyId = "STS.NU9MoqZR51pVsjdjPp1f9QpPt"; String accessKeySecret = "6gnvTyvrsVmxwEZCWL2JTcmRx2QTvorGEoBGZzXdvzKC"; String bucketName = "zhuangzi-bucket"; String securityToken = "CAISywJ1q6Ft5B2yfSjIr5aMBtXFt40UhrK9cUzVjlAlPekVvrX7ljz2IHhMfXVtBegYs/s2nGBZ6/gelrh9SptIfkHfdsp36KlP9QSob9J5fB13L+ZW5qe+EE2/VjTZvqaLEcibIfrZfvCyESOm8gZ43br9cxi7QlWhKufnoJV7b9MRLGLaBHg8c7UwHAZ5r9IAPnb8LOukNgWQ4lDdF011oAFx+wgdgOadupTDtkqA1geikbJN+N6ue8OeApMybMslYbCcx/drc6fN6ilU5iVR+b1+5K4+om+f543AXwEPvkrfa7qFr4MzNmljb609ALVeq/zxifBjpvxyEhBGb7WoVgs8cVM8JOjIqKOscIsi5s6481TGFV55c8FdR3jkMj5V8L8hTnduUfAPRHG+p5JCZM90ZAFpFt5kTKnBL4rB5MUctfzRp1BBQbPUTzDnGoABiPcBGE8ul1pCpBCxVQK3DqCyumZ6ObzA2sR/tZ4bg3cB4E1N0WBVroa/ALOmpL17aNRJ8rI+WZqn8c4OA4gG+KvWDZRep0yGBgrBCWZbdxDxJn4y6I5c9X5SVfUSM83BqD8DrV+FBSb08ktCw5voBd7p5vS7LePJFHlSIr/shikgAA=="; String fileDir = "upload/"; // 确保你的表单设置了enctype="multipart/form-data" // 假设上传的文件字段名为"file" Part filePart = request.getPart("file"); String fileName = filePart.getSubmittedFileName(); // 使用SDK上传文件 OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret,securityToken); try { // 生成新的文件名,避免重名冲突 String newFileName = UUID.randomUUID().toString() + "-" + fileName; InputStream inputStream = filePart.getInputStream(); PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, "images/2024/" + newFileName, inputStream); // ossClient.putObject(bucketName, "images/2024/" + newFileName, inputStream); ossClient.putObject(putObjectRequest); ossClient.shutdown(); // 返回文件的URL或其他处理 String fileUrl = "https://" + bucketName + "." + endpoint + "/" + newFileName; response.getWriter().write("File uploaded successfully: " + fileUrl); } catch (Exception e) { response.getWriter().write("Error: " + e.getMessage()); } } }