返回列表 發帖

回復 10# 的帖子

得看你的實做流程喔。這個範例在我原本的想法中,只是一個表單內負責圖片的一小部份,會在原本的表單送出前,先將 myImageUploader1.getFiles() 存放到一個 hidden 的欄位後送出。

如果你單純用這個程式來上傳圖片的話,得再想想在哪個時機把 myImageUploader1.getFiles() 的資料送到 server 端比較適合。
To infinity and beyond!

TOP

那版大的設計應該是屬於
檔案選擇>>圖片>>資料夾>>傳送json
刪除檔案>>取消瀏覽>>傳送json並且在裡面副加刪除檔案的程式
是這樣嗎 ...
那我可以在x<<裡面附加 hidden 的欄位然後再按下他之後傳送到後端並重新更新json嗎???
因為我在想版大當初設計時應該在x<裡面附加了些什麼...讓使用者按下後圖片會消失@@
整理一下.....

可以請問版大x所傳送的值是哪一個變數?還是標籤??(抱歉我不太懂..那應該叫啥..ˊˋ)
感謝版大...ˊˋ

TOP

不是喔,我原始的設計是個 library 的形式給其他人套用,你不用修改到我提供的 JavaScript,所以不需要瞭解內部運作流程,也不用修改 X 的按鈕的動作。

這個 library 會協助你作圖檔的上傳,並且提供你訊息說 UI 的操作後有哪些檔案,你在最後整個表單送出時,同時將這個訊息送到 server 端處理即可。

我想你可能會需要另一個按鈕,讓 user 做「完成編輯」這樣的動作,在這個按鈕按下後再將訊息送到 server 端。
To infinity and beyond!

TOP

又有問題了...ˊˋ
如何將myImageUploader1.getFiles() 的值放進hidden 欄位@@?
那我現在就變成
選擇檔案>>檔案存入資料夾(先將檔案複製到資料夾內)
確認檔案>>送出myImageUploader1.getFiles()的值在去比對如果值裡面沒有那個檔案就將檔案刪除?
流程應該是這樣嗎??

麻煩版大幫我解迷了ˊˋ!!

TOP

你可以在表單送出前在 onsubmit 事件內去做
<form onsubmit="return checkForm(this)">
<input type="hidden" name="pics" />
function checkForm(fm) {
  fm.elements['pics'].value = myImageUploader1.getFiles();
  //其他表單檢查...
}
To infinity and beyond!

TOP

您好,

請問
我上傳都很順利,這是很好用的一個東西
但我如果在同個後端程式中縮圖
前端的預覽圖及無法顯示,且狀態一直是上傳中...

我試著調整縮圖程式的位置
不管是在$_FILES['myfile']['tmp_name']占暫存檔時先縮好
或是在移動好圖檔後再縮
資料夾都可看到縮好的圖片
但我遇到的情況依然存在...

我再試 GD縮或easyphpthumbnail.class縮
情況依然存在

所以縮圖是沒問題的
但這情況確時是因縮圖而引起的
請問有沒有解決之道呢?

謝謝

TOP

請用 client 端開發工具檢查 server 回應的格式是否正確。

正確的回應應該是一組 JSON 的字串如下:
echo json_encode(array('success' => 'http://example.com/img/xxx.jpg'));
To infinity and beyond!

TOP

請問你指定client端的開發工具是指哪些?

我想簡單的判斷就知道格式是不正確的
做個小驗證
我把json_encode就指向一張固定存在的圖
且都放在後端程式的底部echo
echo json_encode(array('success' => "http://l.yimg.com/fr/ng/ta/autonet/20081126/16/1417054021.jpg"));

用firebug來看
未縮圖時 上傳
不管傳何圖 在那預覽圖容器中的bg img都會顯示這張圖 這是預期中的

而進行縮圖時
不管我怎麼縮 都不關這張圖的事 應該都還是會顯示遠端的這張圖
但該容器中卻一直是loading.gif...

底部要傳送的東西都一樣
echo json_encode(array('success' => "http://l.yimg.com/fr/ng/ta/autonet/20081126/16/1417054021.jpg"));

請問你有遇過這個問題嗎?

TOP

如果有安裝 firebug,可以看看由  server 回傳的結果是否為正確的 json 格式,如下圖:



或是直接逐行偵錯,也可以看到哪裡出了問題。

很可能是 server 端有回應其他錯誤訊息,導致整個格式錯誤了。
To infinity and beyond!

TOP

謝謝你的耐心協助

後來發現原來是縮圖中用了header
產生了錯誤
所以才會看不到返回錯的訊息
但圖也縮成功

TOP

返回列表 回復 發帖