Page
<Ext: fileupload runat = " Server " Label = " Attachment " Id = " Attachment " Width = " 200px " > </Ext: fileupload> <Ext: fileupload runat = " Server " Label = " Photo " Id = " Photo " Width = " 200px " > </Ext: fileupload>
Add background attachments
If (System. Io. Path. getextension (attachment. filename). tolower ()! = Null & Amp; system. Io. Path. getextension (attachment. filename). tolower ()! ="" ){ String Attachmentname = System. Io. Path. getfilename (attachment. filename ); String Fileattachment = System. Io. Path. getextension (attachment. filename). tolower (); String [] Allowattachment = { " . Jpg " , " . Gif " ," . Docx " , " . Pptx " , " . Txt " , " . XSL " , " . Rar " , " . Doc " , " . Zip " , " . PNG " , " . JPEG " , " . BMP " }; Bool BL = False ; For ( Int I = 0 ; I <allowattachment. length; I ++ ){ If (Fileattachment = Allowattachment [I]) {BL = True ; Break ;}} If (!BL) {alert. showintop ( " Upload an attachment in the correct format " ); Return ;} Int Attachmentlength = attachment. postedfile. contentlength; // Body Size Byte [] filebytearrayatt = New Byte [attachmentlength]; // Temporary storage of byte Arrays for image files Stream streamobjectatt = attachment. postedfile. inputstream; // Create a data stream object // Reads image file data. filebytearray is the data storage body, 0 is the Data Pointer position, and filelne is the data length. Streamobjectatt. Read (filebytearrayatt, 0 , Attachmentlength ); // Read the data from the 0th-Bit Array to the length of the array into the streamobjectatt. Hrmsfile. Attachment = Filebytearrayatt; hrmsfile. attachmentformat = Attachmentname;} // then save the new entity hrmsfile to the database.
Attachment Download Page
<Table> <tr> <TD> <strong> Appendix: </strong> </TD> <a href ="Fujianxiazhai. ashx? Id = <% # eval ("ID") %>"> <% # Eval ("Attachmentformat") %> </A> </TD> </tr> </table>
Fujianxiazhai. ashx page
String Id = context. Request. querystring [ " ID " ]; Hdqy. hdqyms. Business. mshrms. hrms_filebll BLL = New Hdqy. hdqyms. Business. mshrms. hrms_filebll (); hdqy. hdqyms. entity. hrmsfile Ra = Bll. gethrmsfilebyid (ID ); If (Ra! = Null & RA. Attachment! = Null ) {Context. response. Clear (); String Strfilename =RA. attachmentformat; context. response. contenttype = " Application/OCTET-STREAM " ; Context. response. addheader ( " Content-Disposition " , " Attachment; filename = " + Httputility. urlencode (RA. attachmentformat); context. response. Buffer = True ; Context. response. binarywrite (RA. Attachment); context. response. Flush (); context. response. Close ();}
The photo upload and attachment are the same. The page displayed at the front-end is:
<TD rowspan ="4"Style ="Width: 100px;"> <IMG alt ="Personal photo"Height ="120px"Width ="100px"Src ='Handler. ashx? Id = <% # eval ("ID") %>'> </TD>
The same is to request an image from an ashx file.
Public Void Processrequest (httpcontext context) {context. response. contenttype = " Text/plain " ; String Id = context. Request. querystring [ " ID " ]; If ( String . Isnullorempty (ID) {system. Io. filestream FS = New System. Io. filestream (system. Web. httpcontext. Current. server. mappath ( " Http://www.cnblogs.com/icon/20111130160358207106.png " ), System. Io. filemode. Open, system. Io. fileaccess. Read ); Byte [] Image = New Byte [Fs. Length]; FS. Read (image, 0 , Image. Length); context. response. contenttype = " PNG " ; // Set the output file type Context. response. outputstream. Write (image, 0 , Image. Length); context. response. End (); Return ;} Hdqy. hdqyms. Business. mshrms. hrms_filebll BLL = New Hdqy. hdqyms. Business. mshrms. hrms_filebll (); hdqy. hdqyms. entity. hrmsfile = Bll. gethrmsfilebyid (ID ); If (Hrmsfile! = Null & Hrmsfile. Photo! = Null & Hrmsfile. Photo. length! = 0 ) {Context. response. contenttype = Hrmsfile. photoformat; // Set the output file type Context. response. outputstream. Write (hrmsfile. photo, 0 , Hrmsfile. Photo. Length); context. response. End ();} Else {System. Io. filestream FS = New System. Io. filestream (system. Web. httpcontext. Current. server. mappath ( " Http://www.cnblogs.com/icon/20111130160358207106.png " ), System. Io. filemode. Open, system. Io. fileaccess. Read ); Byte [] Image = New Byte [Fs. Length]; FS. Read (image, 0 , Image. Length); context. response. contenttype = " PNG " ; // Set the output file type Context. response. outputstream. Write (image, 0 , Image. Length); context. response. End () ;}// the default image 20111130160358207106.png is provided when no image is available.
Although it is better to store a path in the database, the requirements of the leaders have been fulfilled. Here, let's take a look at it first.