PDA

View Full Version : مبتدی: نحوه استفاده از دو تا fileupload در یک صفحه ؟؟؟



Fartaj
شنبه 06 اسفند 1390, 22:20 عصر
سلام خدمت دوستان
من در یک صفحه (پروژه کتابخانه آنلاین) اطلاعات کتاب رو در دیتابیس ثبت می کنم که تو این اطلاعات (عکس کتاب و خود کتاب ) نیاز به آپلود داره من تا حالا فقط عکس کتاب رو آپلود می کردم مشکلی نبود حالا آپلود خود کتاب رو هم گزاشتم مشکل پیدا کردم ارور هم نمی ده و تو دیتابیس هم ذخیره نمی شه تا دومی رو برمی دارم درست می شه

کد fileupload :



string filename = "nopic.gif";
if (FileUpload.HasFile)
{
filename = FileUpload.FileName;
FileUpload.SaveAs(
HttpContext.Current.Server.MapPath("IMG/") + filename);
}



حالا باید چطوری از دوتاش هم زمان استفاده کنم ؟؟

Fartaj
یک شنبه 07 اسفند 1390, 09:02 صبح
البته این رو هم بگم که دومی فایل pdf و docx قراره باشه اگه این فیلتر فرمت رو هم بگید ممنون می شم ؟؟؟؟؟؟؟؟؟:افسرده:

Fartaj
یک شنبه 07 اسفند 1390, 12:06 عصر
من با این کد تونستم این کار رو بکنم :




//upload aks ketab
string path1 = HttpContext.Current.Server.MapPath("IMG/");
string[] validextension = { ".png", ".gif", ".jpg" };
string extension =
System.IO.Path.GetExtension(FileUpload.PostedFile. FileName);
string filename = System.IO.Path.GetFileName(FileUpload.PostedFile.F ileName);
if (Array.IndexOf(validextension, extension.ToLower()) < 0)
{
lbleror1.Text =

"شما مجاز به بارگزاری این فایل نیستید : فایل های مجاز : png , gif , jpg
";

return;
}
FileUpload.PostedFile.SaveAs(path1 + filename);



//upload file marbot be ketab
string path = HttpContext.Current.Server.MapPath("book/");
string[] validext = { ".docx", ".pdf", ".rar" };
string ext= System.IO.Path.GetExtension(bookupload.PostedFile. FileName);
string fil = System.IO.Path.GetFileName(bookupload.PostedFile.F ileName);
if (Array.IndexOf(validext, ext.ToLower()) < 0)
{
lbleror.Text =
"شما مجاز به بارگزاری این فایل نیستید : فایل های مجاز : docx , pdf , rar
";

return;

}
bookupload.PostedFile.SaveAs(path + fil);



فقط مشکلی که هست تو کد بررسی فرمت فایل است :




if (Array.IndexOf(validextension, extension.ToLower()) < 0)
{
lbleror1.Text =
"شما مجاز به بارگزاری این فایل نیستید : فایل های مجاز : png , gif , jpg
";
return;
}

چون تو دومی هم همینو استفاده کردم اگر فرمت فایل کتاب اشتباه باشه ارور مربوط به آپلود عکس رو می ده ؟؟؟؟ چون Array.IndexOfرو اولین جایی که بررسی می شه همون ارور رو نمایش می ده این array رو چطوری می شه تو یک دکمه دو جا استفاده کرد بدون اینکه با هم تداخل داشته باشند ؟؟؟؟

fakhravari
یک شنبه 07 اسفند 1390, 13:40 عصر
یه کلاس که خودم استفاده میکنم
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IO;
using System.Web.UI;
using System.Text.RegularExpressions;
using System.Web.Security;
using System.Security.Cryptography;
using System.Text;
using System.Globalization;
using System.Data.SqlClient;
using System.Data;
using System.Drawing;
using System.Web.UI.WebControls;

public class Fakhravary
{
public static class Upload
{
public static string LastEroor;

public static String[] valid_Type_Pick_ReSize;
public static String[] valid_Type_Pick;
public static String[] valid_Type_File;

public static string ImageFileName_Pick_ReSize;
public static string ImageFileName_Pick;
public static string File_FileName;

#region آپلود فایل

public static string File(string MyPath, int Size, FileUpload fu)
{
if (fu.FileName.Length <= Size)
{
string ContentType = fu.PostedFile.ContentType.ToString();
if (Array.IndexOf(valid_Type_File, ContentType.ToLower()) < 0)
{
LastEroor = "Eroor > نوع نا معتبر می باشد";
}
else
{
File_FileName = System.IO.Path.GetFileName(fu.FileName);

while (System.IO.File.Exists(MyPath + File_FileName))
{
File_FileName = "N_" + File_FileName;
}

fu.PostedFile.SaveAs(MyPath + File_FileName);

LastEroor = "با موفقیت ذخیره شد";
}
}
else
{
LastEroor = "Eroor > حجم فایل زیاد میباشد";
}
return File_FileName;
}

#endregion

}



}



//string[] ax_size = { "image/gif", "image/bmp", "image/jpeg", "image/pjpeg", "image/png", "image/tiff", "image/vnd", "image/svg+xml" };
//string[] ax = { "image/gif", "image/bmp", "image/jpeg", "image/pjpeg", "image/png", "image/tiff", "image/vnd", "image/svg+xml" };
//string[] Audio = { "audio/basic", "audio/L24", "audio/mp4", "audio/mpeg", "audio/ogg", "audio/vorbis", "audio/x-ms-wma", "audio/x-ms-wax", "audio/vnd.rn-realaudio", "audio/vnd.wave", "audio/webm" };
//string[] Video = { "video/mpeg", "video/mp4", "video/ogg", "video/quicktime", "video/webm", "video/x-matroska", "video/x-ms-wmv" };
//string[] File = { "application/octet-stream", "application/x-rar-compressed", "application/rar",
// "application/x-zip-compressed", "application/x-tar", "text/plain",
// "application / x - compressed", "application / zip", "multipart / x - zip" };

برای استفاده
public string UpPath;
public static string ImageFileName;
public static string AtachFileName;

public string eroor;



public void uploadFile()
{
UpPath = Server.MapPath(@"../Img/File_Topik/");
string[] File = { "application/octet-stream", "application/x-rar-compressed", "application/rar",
"application/x-zip-compressed", "application/x-tar", "text/plain",
"application / x - compressed", "application / zip", "multipart / x - zip" };

Fakhravary.Upload.valid_Type_File = File;
Fakhravary.Upload.File(UpPath, 4000, FileUpload2);

AtachFileName = Fakhravary.Upload.File_FileName;
eroor = Fakhravary.Upload.LastEroor;
}

bezar_405
یک شنبه 07 اسفند 1390, 13:45 عصر
ببینید منم تو سایتم می خواستم همین کارو انجام بدم البته برا ی آپلود کردن امیج و فایل موزیک به مشکل برخوردم تا اینکه از یک فایل آپلود استفاده کردم و از کنترل

DropDownList که مشکلم حل شد(ابازم بگم که از یک فایل آپلود استفاده کردم)
برا شما هم میزارم که ان شااله حل بشه
DropDownList به صورت زیر[[

<td align="right">
<asp:FileUpload ID="fu_music" runat="server" Width="211px" />
<asp:DropDownList ID="Dl_uploadfil" runat="server" Height="22px"
onselectedindexchanged="Dl_uploadfil_SelectedIndexChanged">
<asp:ListItem Value="1">Imagefile</asp:ListItem>
<asp:ListItem Value="2">Musicfile</asp:ListItem>
</asp:DropDownList>
</td>


و سورس کد
protected[/SIZE]void btn_upload_Click(object sender, EventArgs e)
{
string filename = "nopic.gif";
if (Dl_uploadfil.SelectedValue == "1")
{
filename = fu_music.FileName;
fu_music.SaveAs(Server.MapPath("image\\" + filename));
txt_image.Text = filename;
}
elseif (Dl_uploadfil.SelectedValue == "2")
{
filename = fu_music.FileName;
fu_music.SaveAs(Server.MapPath("music\\" + filename));
txt_file.Text = filename;

}
}

]
البته برا یذخیره اسم فایلها هم تو بانکم
از برنامه نویسی لایه ای استفاده کردم