chuki2
Fun Poster
- Messages
- 608
- Joined
- Jul 17, 2012
- Messages
- 608
- Reaction score
- 29
- Points
- 30
Chuki2,
getRandomNumber() tu untuk apa???
nko pakai Server.MapPath tu maknanya simpat dlm Inetpub nyer sub folder rite?
Untuk check file extension tu, aku rasa nko boleh cut AJAX kat situ sbb apa yg aku nampak Javascript tu semata2 untuk check extension file....xda hal nak menten, aku just bagi option di mana nko bleh gak guna code yg aku bagi wat checking tu kat code behind...normally gambar yg di upload tu saiz kecik xda la sampai ber'MB (high resolution) so process tu kejap jer dah save file ke server, kalu xda limitation di mana user upload gambar saiz besar so AJAX tu berguna dlm kes ni di mana boleh ringankan beban server melalui checking onClient side(Javascript)...
* Apa2 pun jgn lupa share source code kat sini...baru yg lelain bleh belajar skali...
Full code aku nie implement sekali system lain.. Nanti aku asingkan..
Secara ringkasnya... getRandomNumber() create satu nombor random untuk mengelakan duplicate file... Kemudian ianya akan dihantar ke C# Class yang dinamakan imageHandler yang aku buat sebelum ini.
var handlerPage = '<%= Page.ResolveClientUrl("~/imageHandler.ashx")%>'; <-- Class ini akan tukar image kepada byte dan simpan dalam session client
var queryString = '?randomno=' + getRandomNumber();
var src = handlerPage + queryString;
var clientId = '<%=Image1.ClientID %>';
document.getElementById(clientId).setAttribute("src", src); <-- Dalam masa yang sama, akan return value image kepada picture box.
Cuba ko tengok code javascript di atas? nampak tak dia hantar value ke imageHanlder untuk memproses gambar disana dan attach gambar pada Picture Box. Memang mudah kalau buat behind code sahaja, tapi suka pakai ajax ini sebab tak melibatkkan banyak proses pada server.
Jadi kalau user dah confirm, dia akan buat proses untuk amik data dari session dan convert kepada gambar. Lepas itu baru save ke dalam folder dengan dalam server.mapPath()..
Jadi full flow dia adalah seperti ini :
Upload image > Convert image kepada byte > Simpan dalam Session > If confirm > Retrieve data from Session > Convert Back to Image > Renama, Resize and Save to Folder > Dapatkan image path dan simpan dalam database
So kelebihan dia, selagi dia tak confirm untuk simpan rekod selagi itu image tu tak diproses pada server...
Last edited: