Hirdetés
- Fire/SOUL/CD: INGYENES Clone és Backup-Restore alkalmazások tesztje [2024]
- Luck Dragon: Asszociációs játék. :)
- Brogyi: CTEK akkumulátor töltő és másolatai
- Geri Bátyó: Agglegénykonyha 6 – Néhány egyszerű tésztaétel
- sziku69: Fűzzük össze a szavakat :)
- lezso6: Miért is jó, ha dohányzol?! Megéri rászokni!
- eBay-es kütyük kis pénzért
- gban: Ingyen kellene, de tegnapra
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Kalandor: Fred
Új hozzászólás Aktív témák
-
QuippeR
tag
válasz
Inv1sus #1071 üzenetére
Ha esetleg még nem ugrott az ötösöd, akkor segítek:
<%@ WebHandler Language="C#" Class="FileStream" %>
using System;
using System.Web;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
/// <summary>
/// Reponsible for flushing out the file from the database to the user.
/// </summary>
public class FileStream : IHttpHandler
{
public void ProcessRequest (HttpContext context)
{
// get the file id
string fileId = context.Request.QueryString["file"];
using (SqlCommand command = new SqlCommand())
{
// get the file from database
command.Connection = new SqlConnection("connectionstring");
command.CommandText = "SELECT * FROM files where file_id = @FileId";
command.Parameters.AddWithValue("@FileId", fileId);
command.Connection.Open();
SqlDataReader reader = command.ExecuteReader();
if (reader.Read())
{
// flush out the binary data to the user
context.Response.Clear();
context.Response.ContentType = (string) reader["file_type"];
context.Response.AddHeader("Content-Disposition", String.Format("inline;filename={0};", reader["file_name"].ToString()));
context.Response.AddHeader("Content-Length", reader["file_size"].ToString());
context.Response.BinaryWrite((byte[]) reader["file_content"]);
context.Response.End();
}
}
}
public bool IsReusable
{
get
{
return false;
}
}
}Ezt mentsd le egy FileStream.ashx nevű fájlba. A lényege, hogy az url-ben megadod a fájlt id-jét például így: http://localhost/FileStream.ashx?file=4. Az adatbázisban persze a megfelelő adatoknak (file_name, file_size, file_type, file_content) benne kell lennie ehhez.
A feltöltésnél így tudod kiszedni ezeket az értékeket egy fuNewUpload nevű FileUpload controlból:
string filename = fuNewUpload.PostedFile.FileName.Substring(fuNewUpload.PostedFile.FileName.LastIndexOf('\\') + 1);
string filetype = fuNewUpload.PostedFile.ContentType;
int filesize = fuNewUpload.PostedFile.ContentLength;
byte[] filecontent = new byte[fuNewUpload.PostedFile.ContentLength];
fuNewUpload.PostedFile.InputStream.Read(filecontent, 0, fuNewUpload.PostedFile.ContentLength); -
Inv1sus
addikt
válasz
Inv1sus #1070 üzenetére
Elöző kérdésem nem fontos, de az új igen:
Hogy lehet azt megoldani, hogy egy adatbázisba elmentet képet (varbinary(MAX) típusban) kiolvashassak aspx-be?
A tanárom szerint egy olyan fapados megoldás kellene, hogy az image ugye src-be kapja a kép elérését. Na oda be kellene egy aspx-es fájlt tenni, ami a bináris képet tartalmazná és a content-type-ja kép lenne az egésznek. Valaki segítsen pls. Ettől függ az ötösöm
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Asus FX516PE 15.6" FHD IPS i7-11370H RTX 3050Ti 16GB 512GB NVMe magyar vbill gar
- Logitech G Pro X Superlight vezetékes Gaming Egér!
- Google Pixel 10 256GB - Törött kijelzőüveg - szept. 30-i vásárlás
- Sharkoon Skiller SGM1
- ACER PREDATOR ORION 3000 // CORE I5 9400 // 16GB DDR4 // GEFORCE GTX1660 SUPER 6GB // SSD+HDD
- iKing.Hu - Apple iPhone 14 Pro Max Stílusos erő, Pro kamera rendszerrel! 128GB - 3 hónap gari!
- ÚJ Lenovo ThinkPad T16 Gen 4 - 16" WUXGA - Ultra 7 255U - 32GB - 1TB SSD - Win11 - 3 év garancia
- BESZÁMÍTÁS! MSI B450 R7 5700X 32GB DDR4 1TB SSD RTX 3070Ti 8GB Rampage SHIVA DeepCool 750W
- RÉSZLETRE .OPCIONÁLIS. Asus ROG Strix G614JVR-N4014W SZÁMLÁVAL GARANCIÁVAL
- ÁRGARANCIA!Épített KomPhone i5 10400F 16/32GB RAM RX 7600 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest