PDA

View Full Version : نحوه ویرایش کد زیر برای دانلود فایلهای فرمتهای دیگر



mokarram
یک شنبه 21 فروردین 1390, 14:51 عصر
با سلام خدمت اساتید
من می خواهم در فایل زیر شرطی بنویسم که غیر از فایل با فرمت پی دی اف فایلهای با فرمتهای دیگر مثل ورد و ایمج و غیره را هم از دیتابیس در داخل مرورگر دانلود کنم. دنبال یک راه می گردم. باید چه کار کنم. لطفا راهنماییم فرمایید.



<%@ WebHandler Language="C#" Class="FileHandlerLarge" %>

using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;


public class FileHandlerLarge : System.Web.IHttpHandler

{

const string conString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\ASPNETDB.MDF;Integrated Security=True;User Instance=True";

public void ProcessRequest (HttpContext context) {
context.Response.Buffer = false;
context.Response.ContentType = "application/pdf";

SqlConnection con = new SqlConnection(conString);
SqlCommand cmd = new SqlCommand("SELECT FileBytes FROM Orders WHERE OrderID=@OrderID", con);
cmd.Parameters.AddWithValue("@OrderID", context.Request["OrderID"]);
using (con)
{
con.Open();
SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.SequentialAccess );
if (reader.Read())
{
int bufferSize = 8040;
byte[] chunk = new byte[bufferSize];
long retCount;
long startIndex = 0;

retCount = reader.GetBytes(0, startIndex, chunk, 0, bufferSize);


while (retCount == bufferSize)
{
context.Response.BinaryWrite(chunk);

startIndex += bufferSize;
retCount = reader.GetBytes(0, startIndex, chunk, 0, bufferSize);
}

byte[] actualChunk = new Byte[retCount - 1];
Buffer.BlockCopy(chunk, 0, actualChunk, 0, (int)retCount - 1);
context.Response.BinaryWrite(actualChunk);

}
}
}

public bool IsReusable {
get {
return false;
}
}

}

icegirl_f2r
یک شنبه 21 فروردین 1390, 18:50 عصر
با سلام خدمت اساتید
من می خواهم در فایل زیر شرطی بنویسم که غیر از فایل با فرمت پی دی اف فایلهای با فرمتهای دیگر مثل ورد و ایمج و غیره را هم از دیتابیس در داخل مرورگر دانلود کنم. دنبال یک راه می گردم. باید چه کار کنم. لطفا راهنماییم فرمایید.

فکر میکنم جوابتون تو این صفحه باشه:

http://barnamenevis.org/showthread.php?147786-%D8%B7%D8%B1%D9%8A%D9%82%D9%87-%D8%B3%D8%A7%D8%AE%D8%AA-%D9%84%D9%8A%D9%86%D9%83-%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%D9%81%D8%A7%D9%8A%D9%84

mokarram
سه شنبه 23 فروردین 1390, 11:37 صبح
نه متاسفانه این تاپیک کمکی به حل مشکل من نکرد. بقیه دوستان اگر راهی سراغ دارند تقاضای کمک عاجل دارم.

amirjalili
سه شنبه 23 فروردین 1390, 11:53 صبح
ببین این نظر منه.. البته خیلی جستجو کردم اما فقط همین نتیجه عایدم شد:
شما موقع آپلود فایل یا هر موقعی که این فایل رو در دیتابیس میخواهید ذخیره کنید باید MimeType اون فایل رو ذخیره کنید . بعد موقع خوندن فایل در همین کدی که گذاشتید نوع فایل رو در هر بار چک کنید و اونجا ContentType رو مشخص کنید.