หน้าแรก
 การบ้าน
  C/C++ new
  Java new
  Windows Phone
  แจ้งเรื่องที่ต้องการ
 บทความ
  .NET
  Android
  Blackberry
  C++Builder
  Delphi
  Java
  Mobile
  Open Source
  Pocket PC
  Visual Basic
  Web
  Windows Phone
  Others
 แบบเรียนฟรี
  ASP
  ASP.NET Webmatrix
  C++
  eVB
  J2ME
  Java
  PHP
 ซอร์สโค้ด
  Android
  ASP
  C++
  VC++
  CGI-Perl
  Delphi
  Java
  jQuery
  PHP
  Visual Basic
  .NET
 บริการจากเรา
  เปิดท้าย... ขายโค้ด
  Freeware
  อัตราค่าโฆษณา
  รายชื่อลูกค้า
  สถิติผู้เข้าเว็บ
 ดาว์นโหลด
 ค้นหาข้อมูล
 กระดานสนทนา
  .NET
  C/C++
  Delphi
  Java
  Palm/PocketPC
  Visual Basic
  Web
  อื่นๆ
 กระดานงาน
 ลิงค์เว็บ
 เกี่ยวกับผม
 อัตราค่าโฆษณา
Social Network

Facebook  Twitter  YouTube
 New Article
 Webboard
 Freelanceboard
Freeware
โปรแกรมเบอร์ดี (BerDee)
โปรแกรมเบอร์ดี (Android)
เกมส์เป่ายิ้งฉุบ
เกมส์เป่ายิ้งฉุบ(Android)
WebcamMonitor
WebcamMonitor(Windows)
scSendMail
scSendMail(Windows)
MSN Caption
MSN Caption(Windows)
  Freelance comment
  ติดต่อสอบถามมาได้ตลอดนะ...
2015-07-29 13:35:58
  ถ้าผมต้องการเว็บที่พัฒน...
2015-01-18 15:33:54
  ถ้าผมต้องการเว็บที่พัฒน...
2015-01-18 15:32:51
  ติดต่อสอบถามเข้ามาได้นะ...
2014-01-06 12:47:38
  ถ้ายังหาคนสอนไม่ได้ ก็ลอ...
2013-07-06 01:04:37
  สนใจส่งขอบเขตมาคุยราคาก...
2013-03-24 18:54:20
  ถ้ายังไม่มีคนรับงานติดต...
2012-12-16 19:18:14
  สนใจคะ ติดต่อ 0905076277...
2012-11-12 11:07:46
  รับทำโปรเจ็คนักศึกษาหรื...
2012-10-29 03:10:46
  sukit_te34@hotmail.com...
2012-10-29 03:09:36
  Webboard comment
  มาส่อง...
2024-08-19 15:45:12
  ช่วยเขียนโปรเจค: การควบค...
2024-08-07 09:13:31
  เขียนโปรแกรมภาษาจาวา
1.โ...

2023-09-12 11:40:28
  ต้องลอง debug ดูเองครับ
ไล่...

2023-06-08 18:03:06
  ร้านค้าแห่งหนึ่ง จะต้องน...
2021-09-21 08:47:08
  จงเขียนโปรแกรมดำเนินการ...
2021-05-07 15:06:11
  จงเขียนโปรแกรมสำหรับคำน...
2021-03-09 14:21:45
  ขอดู...
2021-01-04 23:56:45
  ขอโค้ดเพื่อทำการเรียนกา...
2020-12-09 23:02:09
  แล้ว ?...
2020-12-09 10:56:34
  Homework comment
  เขียนโปรแกรมเพื่อรับค่า...
2022-02-24 10:45:17
  จากโค้ดนี้อะครับ พอดีลอง...
2021-03-22 01:22:39
  จากโค้ดนี้อะครับ พอดีลอง...
2021-03-22 01:22:39
  โจทย์การบ้าน c++ เขียนรูปแ...
2020-04-06 11:01:33
  แบบนี้ขอเป็น ภาษา php หน่อย...
2019-09-18 14:36:34
  ผมไม่อยากให้คุณได้คะแนน...
2019-04-27 01:29:07
  อาจารย์เขาบอกแนวข้อสอบม...
2019-04-27 00:44:29
  ขอสอบถามการเขียน c++ ครับ เ...
2018-04-02 12:19:21
  โค้ดตัวอย่างศึกษาให้เข้...
2017-11-26 14:50:05
  คำนวณค่าน้ำโดยรับค่ามิเ...
2017-11-20 23:15:26
  Article comment
  เท่าที่อ่าน error คือพื้นที่...
2022-03-23 13:56:48
  เรียน สอบถามปัญหา กับ อ.คร...
2022-01-24 17:39:49
  ต้องการ ให้เขียน โปรแกรม ...
2019-12-09 11:39:58
  รับเขียน arx จาก vc++ 2017 ล็อคโปร...
2019-09-19 09:48:09
  ทำการ register ไฟล์ที่ชื่อ mswinsck.oc...
2019-09-17 14:05:56
  ใน vb 6 ไม่มี component winsock เลยค่ะ ส...
2019-09-03 10:31:02
  รบกวนขอสอบถามหน่อยนะครั...
2019-03-04 05:31:04
  สามารถนำตัวหนังสือจากภา...
2018-12-25 08:54:32
  มีcode ของ VB ไหมค่ะ ถ้ามีรบกว...
2017-09-28 16:50:02
  น่าจะได้ครับ ไม่เคยลอง
...

2017-07-11 09:59:35
  9Mcode comment

Link Exchange

อัตราค่าโฆษณา
 
เลือก Download รูปภาพด้วย ADODB Stream (อ่าน 23,323)
ศุภกิจ ทองดี (9'M) บทความโดย: นาย ศุภกิจ ทองดี (9'M)
e-mail: webmaster@sourcecode.in.th
mobile: 09-5009-5351
Line: suppakit.thongdee
Youtube: 9Mcode
Fanpage: Sourcecode.in.th
   
: ดาว์นโหลดตัวอย่างโปรแกรม (ดาว์นโหลด 2,952 ครั้ง)

- - - - - - - - - - - - - - ผู้ให้การสนับสนุน- - - - - - - - - - - - - -

 
 
Freelanceรับพัฒนาโปรแกรม และเว็บ โดย 9'M 

ที่มาของบทความนี้เกิดจากการที่ผมต้องสร้างโปรแกรม J-sms ซึ่งมีความสามารถในการ Download ไฟล์ Banner มาแสดงที่ตัวโปรแกรม โดยจะต้องทำการสร้างไฟล์ asp ที่มีความสามารถในการเลือกรูป ที่ต้องการได้ อันนี้คือโจทย์นะครับ

สำหรับวิธีที่ผมได้คิดๆมาเพื่อสร้างไฟล์ asp ที่ต้องการคือ
- การใช้ FileSystemObject ในการเปิดไฟล์รูปที่ต้องการ แล้วทำการอ่านแล้ว Response.Write ไฟล์ที่อ่านนั้น ออกมา แต่ปัญหามันติดอยูที่ว่า FileSystemObject นั้นไม่ support กับไฟล์ binary ซึ่งไฟล์รูปภาพ ของเราก็เป็นไฟล์ binary ทำให้ไม่สามารถจะใช้วิธีการนี้ได้

- ต่อมาผมก็ได้ คิดใช้ Response.redirect (เป็นการสั่งให้ webbrowser โหลดไฟล์ หรือ รูปภาพ ที่ต้องการ) แต่วิธีการนี้ก็ใช้ไม่ได้อีกเช่นกัน เหตุผลเพราะว่า การใช้ Response.redirect เป็นคำสั่งที่ Run บน Server เพื่อบอกให้ Server ส่งรูปแบบคำสั่งมายัง Client ( ซึ่งในที่นี้ก็คือ Webbrowser นั้นเอง) เพื่อให้ Client ส่งคำสัง เพื่อ โหลด ไฟล์ หรือ รูปภาพ ที่ต้องการใหม่อีกครั้ง ทำให้ตัวโปรแกรม J-sms ผมต้องทำงานเพิ่มอีก 1 ขั้นตอน ซึ่งผมคิดว่าไม่จำเป็นสักเท่าไหร่ทีต้องเสียเวลา ทำกระบวนการ อย่างนั้น

ผมจึงค้นหาโค้ดจนมาพบกับ โค้ดที่ผมนำมาเสนอกันในบทความนี้นะครับ ซึ่งพอจะอธิบายการทำงานได้ว่า โค้ดดังกว่าจะใช้การเปิดไฟล์ Binary โดยอาศัย ADODB.Stream ซึ่งเป็น Object ที่สามารถเปิดไฟล์ Binary ได้ ต่อจากนั้น ก็ทำการ Response.binarywrite ไฟล์ออกมา

ส่วนเทคนิคอื่นๆที่เกี่ยวข้อง จะเป็นการกำหนด ContentType เพื่อบอกว่าเอกสารที่ส่งมาเป็นอะไร โดยที่นี้จะกำหนดเป็น application/x-unknown ซึ่งจะบอกให้ client เลือกที่จะ Download ไฟล์ดังกล่าง หากคุณต้องการแจ้งว่าไฟล์ดังกล่างเป็นไฟล์ gif หรือ jpg ก็อาจกำหนดเป็น image/jpg หรือ image/jpeg ตามลำดับครับ

ก่อนทำการเขียนโค้ด ให้คุณทำการเตรียมรูปภาพ เป็น gif ไฟล์ ไว้สัก 3 ไฟล์ โดยกำหนดชื่อเป็น pic1.gif ,pic2.gif และ pic3.gif แล้วเก็บไว้ใน path เดียวกับไฟล์ getPic.asp ที่เราจะเขียนต่อไป

โค้ดจะมีดังนี้

getPic.asp

<%
no=request("no")
if no="" then no="1"
no="pic"&no&".gif"

response.contenttype ="application/x-unknown" 'image/gif
response.addheader "Content-Disposition","attachment;filename="& chr(34) & "image.gif" & chr(34)

response.binarywrite getBinaryFile(Server.mapPath(no))

function getBinaryFile(sFile)
Dim adTypeBinary
Dim oStream
adTypeBinary=1

set oStream = Server.CreateObject("ADODB.Stream")
oStream.Open
oStream.Type=adTypeBinary
oStream.LoadFromFile sFile
getBinaryFile =oStream.read
set oStream=nothing
end function

%>

 

sample picture

รูปแสดงผลที่ได้เมื่อกำหนด contenttype เป็น image/gif

ทิ้งท้าย
จากรูปจะเห็นได้ว่าผมจะสามารถเลือกรูปได้โดยการกำหนดค่าของ no ว่าจะเป็นรูปที่เท่าไหร่ เช่น http://localhost/getPic.asp?no=1 หากว่าคุณต้องการให้ Webbrowser สามารถแสดงรูป สามารถทำได้โดย ไปกำหนดค่าของ contenttype เป็น image/gif เพื่อบอกว่าไฟล์ที่ส่งมาเป็น ภาพ gif หวังว่าคงมีประโยชน์ สำหรับเพื่อนๆหลายท่านนะครับ หาผมพบโค้ดที่คิดว่ามีประโยชน์ จะได้นำเสนอกันอีกในครั้งหน้า แล้วพบกันใหม่กับ 9'M

: ดาว์นโหลดตัวอย่างโปรแกรม (ดาว์นโหลด 2,952 ครั้ง)
 

- - - - - - - - - - - - - - ผู้ให้การสนับสนุน- - - - - - - - - - - - - -

สอบถาม
  • ห้ามการโฆษณา หากต้องการติดต่อหาลูกค้า ติดต่อโฆษณาโดยตรงได้ที่ webmaster@sourcecode.in.th
  • ห้ามใช้คำหยาบและคำพูดที่ไม่เหมาะสม
  • ขอสงวนสิทธิหากตรวจพบ ข้อความที่ไม่เหมาะสม ข้อความนั้นจะถูกลบทันที
ชื่อ
อีเมล์
รายละเอียด

 
 
คลิปสอนเขียนโปรแกรม
เรียนเขียนโปรแกรมดอทเน็ต
เรียนเขียนโปรแกรมแอนดรอยด์
เรียนเขียนโปรแกรมเบล็คเบอร์รี่
เรียนเขียนโปรแกรมซี ซีพลัสพลัส
เรียนเขียนโปรแกรมจาวา
เรียนการใช้งานลินุกส์
เรียนการเขียนโปรแกรมวินโดว์โฟน
เรียนการเขียนโปรแกรมพีเฮชพี มายเอสคิวเอล
อัตราค่าโฆษณา
 
บทความที่เกี่ยวข้อง

เริ่มต้นพัฒนาเว็บ PHP ด้วย XAMPP

เริ่มต้น Ajax ด้วยการสร้างนาฬิกา

แสดง Drive ของฝั่ง Client ด้วย JavaScript

Downlod หน้าเว็บ ของเว็บอื่น ด้วย ASP

Upload File ด้วย PHP

สร้างภาพ Jpeg แบบ Dynamic ด้วย PHP

แสดงรายชื่อ Folder และ File ฝั่ง Server ด้วย ASP

ติดตั้ง PHP 4 บน WINDOWS 9X, Me และ NT(IIS2 และ IIS3)

เทคนิคการเปลี่ยนใช้ภาษาไทยกับ Dreamweaver

ติดตั้ง PHP 4 บน WINDOWS 2000
Tutorial
eVB Tutorial
ASP.NET Webmatrix Tutorial
J2ME Tutorial
C++  Tutorial
Java  Tutorial
PHP Tutorial
ASP Tutorial
 
แบบสำรวจ

Home - Article - Tutorial - Sourcecode - Dev Handbook - Search - WebBoard - Links - About Us

สงวนลิขสิทธิ์ ห้ามคัดลอก ทำซ้ำ แก้ไข ดัดแปลง ไม่ว่าในรูปแบบใด โดยไม่ได้รับอนุญาตเป็นลายลักษณ์อักษร
เลขทะเบียนพาณิชย์อิเล็กทรอนิกส์จากกระทรวงพาณิชย์: 7100503002000
Copyright 2001 SourceCode.in.th