當前位置:編程學習大全網 - 源碼下載 - 請問:百度Ueditor為什麽上傳不了?在ASP中,求高手指點。

請問:百度Ueditor為什麽上傳不了?在ASP中,求高手指點。

上傳圖片

UEditor的圖片上傳采用Flash上傳方式,功能上支持批量、本地預覽、實時進度提示,界面上支持背景、上傳按鈕、預覽框等視覺元素的自定義樣式屬性,基本可以滿足各類用戶的不同上傳需求。

因為涉及到後端開發語言、flash、js、html等各種web元素,圖片上傳的配置和使用相對來說比較復雜,但是只要妳認真看完下面的內容,就不是問題了。下面我們仍然用上面例子的完整版本壹步壹步地完成這個過程。

我們來回顧壹下完整版部署章節中提到的項目目錄結構,如下左圖所示。為了更符合壹般網站的實際情況,也為了更清晰的展示整體的路徑配置過程,我們先對這個目錄做壹個小小的改動:提取ueditor目錄下的server文件夾,放在根目錄下的admin文件夾中。調整後的目錄結構顯示在右下方。

首先,我們來看看前端文件及其配置。打開dialogs/image文件夾,我們可以找到四個文件:

Callback.js:這個上傳模塊支持的所有回調函數,妳可以根據需要選擇其中任何壹個。對於不需要做二次開發的,可以放心的直接刪除。

Image.html:圖片上傳對話框的主文件。前端的配置和修改基本在這裏完成。

ImageUploader.swf:Flash上傳文件。

Tangram.js:百度前端框架Tangram封裝的flash操作模塊。壹般不需要修改。

打開image.html文件並找到baidu.swf.create()方法,在這裏完成了關於圖像上傳的大部分配置。這些參數中的大部分相信在評論中對妳來說很容易理解。這裏有幾個參數需要稍微解釋壹下:

首先,有三個參數:backgroundUrl、listBackgroundUrl和buttonUrl。為了讓上傳flash的界面滿足不同的網站風格,UEditor預留了這三個參數,供您自行定義上傳框、圖片預覽框、上傳按鈕的背景。默認情況下,它是學生在留空時看到的樣式。

後跟兩個參數compressSide和compressLength。前者指定上傳圖像的參考邊緣進行等尺度壓縮,後者指定前者定義的參考邊緣的最大邊緣長度,並基於該值進行等尺度縮放。這裏的值是通過讀取配置文件中的maxImageSideLength值來設置的。如果比較麻煩,可以直接設置數值。

第三個是url參數。此參數設置圖像上傳後臺處理程序的路徑。對於當前的項目示例,這裏的url值應該是"../../../admin/server/upload/up.php "。

要引入的第四個參數是ext。此參數允許您定義發布到後端所需的參數。只要書寫符合我們演示中的格式,後臺就可以像接收壹個普通的表單項壹樣,直接接收相應的自定義值。

最後要介紹的參數是fileType。它限制了前端文件選擇框中可以顯示的文件類型。如果需要上傳其他非圖片格式的文件,只需要修改相應的擴展名即可。

前端部分的配置暫時完成。讓我們看看後臺處理程序中的配置。打開admin/server/upload/文件夾,在up.php文件中,我們可以找到以下三個需要配置的參數:uploadPath、fileType和fileSize。妳最後兩個參數的存在是壹個疑點,而且我認為前端已經通過Flash限制了文件大小和文件類型,這裏就不需要限制了。這種理解其實是錯誤的。有經驗的黑客完全可以通過構造自己的提交表單,繞過前端Flash的各種限制,直接上傳文件到我們的服務器。

讓我們關註壹下參數uploadPath。默認情況下,該參數的配置會在up.php文件所在目錄的父目錄下創建壹個uploadfiles文件夾,並將圖片保存在該文件夾中。保存圖片後要返回的字符串是壹個純json字符串,看起來像

{'URL ':'../upload files/23123213 . jpg ',' title':' description ',' state':'SUCCESS'}

這裏需要註意的壹點是url參數。可以看出,當前url參數帶有相對路徑,例如“../,因其上下文含義明顯,不適合跨頁面數據傳輸。如果您必須使用這種路徑傳送方法,您必須在圖片顯示頁面上更正地址。壹般來說,正確的做法是先把相對路徑轉換成帶域名的絕對路徑,再返回給客戶端。這壹步壹般要結合後臺網站根目錄配置來完成。UEditor不想知道具體的服務器端配置,所以在這裏做了另外壹個處理:去掉所有相對路徑的字符串比如。/還有../,並且只返回從uploadfiles開始的imagePath,比如“Uploadfiles/23123213 . jpg”,然後通過在editor_config.js中配置這個參數來修正圖像路徑image path代表upload files文件夾所在的文件夾地址。以當前實例項目為例,uploadfiles位於服務器目錄下,所以imagePath的值應該設置為“admin/server/”。我們這裏從根目錄開始的原因和部署完整版的時候是壹樣的,因為editor_config.js是index.php導入的,所以它的真實路徑是根目錄。另壹個狀態參數由後臺的具體邏輯決定,其值可以自定義。但如果上傳成功,則必須返回“成功”字符串,其他狀態會直接顯示在預覽框中。

到目前為止,圖片上傳所需的所有配置和修改都已完成。在地址欄輸入地址,體驗UEditor提供的強大圖片上傳功能!

PS:JSP版的圖片是用commons-fileupload包上傳的。請先下載Commons-file upload-1 . 2 . 2 . jar,並添加到項目中的WEB-INF/lib/目錄下才能正常工作。

  • 上一篇:什麽是貝塔系數?
  • 下一篇:如何對靜態庫編譯增加arm64的支持
  • copyright 2024編程學習大全網