1. 程式人生 > >Spring boot檔案上傳blocked a frame with origin "http://xxx" from accessing a cross-origin frame.

Spring boot檔案上傳blocked a frame with origin "http://xxx" from accessing a cross-origin frame.

spring boot 上傳檔案,頁面彈出提示:blocked a frame with origin “http://localhost:8080” from accessing a cross-origin frame.

在上傳檔案的過程中,前端報了這個錯誤,這個錯誤咋一看還還以為是AJAX提交資料跨域的問題,實則和跨域沒有一毛線關係,這個提示是DOMException報出的提示,具體錯誤狀態值為:

{
    code :18,
    message:"Blocked a frame with origin "http://localhost:8080" from accessing a cross-origin frame."
name:"SecurityError" stack:"Error: "Error: Blocked a frame with origin "http://localhost:8081" from accessing a cross-origin frame.↵ at HTMLIFrameElement.uploadCallback (http://localhost:8080/lib/ajaxfileupload.js:78:60)↵ at HTMLIFrameElement.dispatch (http://localhost:8080/tmp/system/article/js/jquery-1.9.1.min.js:3:28337)↵ at HTMLIFrameElement.v.handle (http://localhost:8080/tmp/system/article/js/jquery-1.9.1.min.js:3:25042)"
}

檢視DOMException文件,SecurityError的說明是The operation is insecure. (Legacy code value: 18 and legacy constant name: SECURITY_ERR)。大致意思就是操作不安全,具體是什麼操作不安全得去看後端。

去後端一看錯誤一目瞭然:

Caused by: java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (5537806
) exceeds the configured maximum (4194304)

request異常,上傳的檔案超過了最大值2047512,也就是2M,這個是預設的(具體是哪裡給的預設值沒有深究)上傳大小限制。so,那去查下spring boot上傳檔案大小限制的配置屬性,然後在application.properties新增就可以了。

需要注意的是spring boot各個版本間的這個配置有些改動。

各版本檔案大小限制如下:

  • 1.0
spring.servlet.multipart.max-file-size=1MB 
spring.servlet.multipart.max-request-size=10MB 
  • 1.2~1.3
multipart.max-file-size=1Mb 
multipart.max-request-size=10Mb 
  • 1.4~1.5
spring.http.multipart.max-file-size=1Mb 
spring.http.multipart.max-request-size=10Mb 

恕我眼拙,沒有找到1.1版本上傳檔案大小限制的配置。

歡迎關注我的個人公眾號:逍遙的心。主推程式設計師寫的生活類文章,有興趣的朋友可以共同探討下:這裡寫圖片描述

相關推薦

Spring boot檔案blocked a frame with origin "http://xxx" from accessing a cross-origin frame.

spring boot 上傳檔案,頁面彈出提示:blocked a frame with origin “http://localhost:8080” from accessing a cross-origin frame. 在上傳檔案的過程中,前端報了這

Spring Boot——檔案與下載

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apac

Spring Boot檔案

spring boot 2.0.5 要實現檔案上傳並直接訪問(檢視/下載) 配置靜態檔案路徑 application.properties uploadPath=/opt/data1/uploads/ ## 上傳路徑設定為靜態資源路徑,可以通過http直接訪問,

Spring Boot -- 檔案

Spring Boot -- 檔案上傳 一:檔案上傳 1. pom.xml 2. application.properties 3. Controller 4.測試 二:熱部署 spring-boot

spring boot 檔案配置檔案

spring:   thymeleaf.cache : false   messages.basename : static/message/messages   http:      multipart:     &n

Spring Boot 檔案和下載

前言:以前的專案中檔案上傳下載會寫大量程式碼來實現,但是在Spring Boot中,簡化了大量程式碼,上傳只需要2行程式碼即可 package com.demo.controller; import com.demo.model.FileInfo; import org.

spring boot 檔案 最基礎的

首先:在控制層 controller 建 FileUploadController 程式碼: package com.example.springdemo.controller; import org.springframework.stereotype.Contro

Spring boot 檔案commons-fileupload

錯誤返回: Required request part 'file' is not present 請檢查你是否引入了這個jar包 自帶了upload files的配置 1.如果沒有 上傳檔案時需要引入並在webMvc配置 <!-- fileup

Spring Boot 檔案與下載

一、上傳檔案 @RequestMapping(value="/upfile", method = RequestMethod.POST) public ResultVo uploadFile(@Req

Spring boot檔案報錯: The temporary upload location is not valid

最近在做Excel匯入時,一次偶然的測試發現bug報錯如下: org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is

Spring Boot教程(十三):Spring Boot檔案

一、建立一個簡單的包含WEB依賴的SpringBoot專案 pom.xml內容: <!-- Spring Boot web啟動器 --> <dependency> <groupId>org.springframe

從.Net到Java學習第十篇——Spring Boot檔案和下載

圖片上傳 Spring Boot中的檔案上傳就是Spring MVC中的檔案上傳,將其整合進來了。 在模板目錄建立一個新的頁面 profile/uploadPage.html <!DOCTYPE html> <html xmlns:th="http://www.thymel

SpringBoot:spring boot檔案【多檔案

原文轉自:http://www.vxzsk.com/638.html 檔案上傳主要分以下幾個步驟: (1)新建maven java project; (2)在pom.xml加入相應依賴; (3)新建一個表單頁面(這裡使用thymleaf); (4

詳細全面的Spring Boot檔案

最近再看Spring Boot 就想做一個檔案上傳的url。 如圖: 檔案目錄如下: 在這裡 為什麼不把檔案上傳到resources裡,因為上傳到這裡 必須重新啟專案,才能生效,所以 新建了webapp,像web應用一樣,上傳到這裡。完美解決這個問題。

29. Spring boot 檔案(多檔案)【從零開始學Spring Boot

【視訊&交流平臺】 http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=40000000

Spring boot 檔案(多檔案)【從零開始學Spring Boot

檔案上傳主要分以下幾個步驟: (1)新建maven java project; (2)在pom.xml加入相應依賴; (3)新建一個表單頁面(這裡使用thymeleaf); (4)編寫controller; (5)測試; (6)對上傳的檔案做一些限制; (7)多檔案上傳

[Spring Boot] Spring Boot MultipartFile檔案

Spring Boot 上傳檔案程式碼 Spring Boot 使用MultipartFile來完成檔案上傳 @ResponseBody @RequestMapping(value = "/put") public Boolean putFi

spring boot + axios 檔案

背景 純新手記錄一下springboot 上傳檔案。(以前是做.net 的) 後端實現 FileUtil 用來儲存檔案建立資料夾。 public static void save (byte[] file,String

Spring Boot應用檔案時報錯

問題描述 Spring Boot應用(使用預設的嵌入式Tomcat)在上傳檔案時,偶爾會出現上傳失敗的情況,後臺報錯日誌資訊如下:“The temporary upload location is not valid”。 原因追蹤 這個問題的根本原因是Tomcat的檔案上傳機制引起的! Tomcat在處理

Spring MVC 檔案工具類

public class UploadFiles { /** * 檔案的名稱 */ private String name; /** * 檔案的新的名稱 */ private String uuidname; /**