iframe 跨域上傳檔案

2021-09-01 14:34:09 字數 875 閱讀 9735

首先是乙個正常的上傳頁面 upload.html

id="if"

name=

"if"

src=

"about:blank"

frameborder=

'0'>

這裡有乙個關鍵點是form的target要指向iframe,同時把iframe隱藏起來,這樣上傳的處理結果就會顯示在該iframe裡。action裡的cb(callback)引數表示處理完成後要跳轉的url,因為我們的目標是iframe,所以只會把跳轉的頁面輸出到iframe,而不會讓當前頁面跳轉。

還有一點,callback url要和當前頁面同域。跨域的iframe無法呼叫父頁面的內容。

再來看看deal.php,也就是form的action

<?php

// deal upload file

// and get file id, you can pass other params either

header

('location:'

.$_get

['cb'].

'?file_id=123'

);

這裡可以處理檔案,然後入庫。操作完成後,把檔案的id及其他資訊都放在url裡,最後跳轉到這個url。

最後來看看deal_cd.html,也就是剛剛deal.php跳轉到的url,這個檔案的內容會填充到頁面的iframe裡。

這裡呼叫了父視窗的getiframeval方法,這樣父頁面就獲得了檔案的id。

--eof--

** :

上傳檔案跨域

公司 www.6v.com,伺服器www.up.6v.com 通過跨域從主站傳到伺服器 最後效果 共了三個外掛程式,乙個是ajaxfileupload,乙個是uploadify,還乙個是jcrop 第一步用uploadify,主要是因為要求有進度條,之前部落格中有介紹uploadify,在此不多說。...

Spring檔案上傳和跨域檔案上傳

普通檔案上傳 2 建立servletfileupload和磁碟檔案項工廠 diskfileitemfactory factory new diskfileitemfactory servletfileupload fileupload new servletfileupload factory 3 ...

iframe跨域通訊

簡述 window.postmessage方法,允許跨視窗通訊,不論這兩個視窗是否同源。視窗都可以通過message事件,監聽對方的訊息。語法 otherwindow.postmessage message,targetorigin,transfer message 傳送的內容。targetorgi...