PDA

View Full Version : ایجاد progress bar در هنگام آپلود فایل در asp و C#



moshavermojarab
شنبه 06 تیر 1394, 16:26 عصر
سلام دوستان
من یک progress bar پیدا کردم که به درستی پر می شود اما مشکل من اینه که کد آپلود فایل خودم را به چه صورت جایی بدهم در این کد که همزمان با آپلود شدن فایل این نوار پر بشود. الان هر چه قدر کد خودم را درون تابع این progress bar می گذارم اصلا این کد من را اجرا نمی کند. در زیر کد javascript آن را می ذارم

<script type="text/javascript" src="jsfile/jquery-1.3.2.js"></script>
<script type="text/javascript" src="jsfile/ui.core.js"></script>
<script type="text/javascript" src="jsfile/ui.progressbar.js"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$("#progressbar").progressbar({ value: 0 });
$("#UploadButton").click(function() {

var intervalID = setInterval(updateProgress, 250);
$.ajax({
type: "POST",
url: "process.aspx/GetText",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
success: function(msg) {
$("#progressbar").progressbar("value", 100);
$("#result").text(msg.d);
clearInterval(intervalID);
}
});
return false;
});
});

function updateProgress() {
var value = $("#progressbar").progressbar("option", "value");
if (value < 100) {
$("#progressbar").progressbar("value", value + 1);
}
}

</script>


این هم تابع Get Text


[System.Web.Services.WebMethod]
public static string GetText()
{
for (int i = 0; i < 10; i ++)
{
Thread.Sleep(1000);
}
return "All finished!";
}





کدی که من می خواهم با این progress bar استفاده کنم در زیر گذاشتم




if (FileUploadControl.HasFile && drpsemat.SelectedValue != "-1" && drpfile.SelectedValue != "-1" && TextArea1.Value.Length > 0 && drpfile.SelectedValue != "-1" && Session["usercode"] != null)
{

try
{
if (FileUploadControl.PostedFile.ContentType == "application/octet-stream")
{

if (Path.GetExtension(FileUploadControl.FileName) == ".zip")
{
name_file = drpfile.SelectedItem.Text;
name_file = name_file + "_" + TextArea1.Value.ToString() + " " + "نسخه1" + ".zip";
string filename = Path.GetFileName(FileUploadControl.FileName);
//
string name_ex = ResolveUrl("~/upload/" + name_file);


if (System.IO.File.Exists(Server.MapPath(name_ex)))
{
string id = name_file.Substring(name_file.IndexOf("نسخه") + 4, 1);
int id1 = Int32.Parse(id);
id1++;
name_file = name_file.Substring(0, name_file.IndexOf("نسخه") + 4) + id1.ToString() + ".zip";
}


//

FileUploadControl.SaveAs(Server.MapPath("~/upload/") + name_file);
date_now = DateTime.Now.ToPeString("yyyy/MM/dd");
Thread.CurrentThread.CurrentCulture = Thread.CurrentThread.CurrentUICulture = PersianDateExtensionMethods.GetPersianCulture();

var d1 = DateTime.Now.ToString();

time_now = d1.Substring(d1.IndexOf(" ")); //session time
//get address to save in database
string address = Server.MapPath("~/upload/") + name_file;
string desc = TextArea1.Value.ToString();
//connect to database and save information into table

comm.insert_Upload_file(hf_userid.Value.ToString() , address, desc, time_now, date_now, drpemp.SelectedValue, Int32.Parse(drpsemat.SelectedValue));
if (comm.flag == true)
{
drpfile.SelectedIndex = 0;
TextArea1.Value = "";
drpemp.Enabled = false;
drpsemat.SelectedValue = "-1";
drpemp.SelectedValue = "-1";
drpfile.SelectedValue = "-1";
StatusLabel.Visible = true;
StatusLabel.Text = "وضعیت ارسال فایل: فایل با موفقیت ارسال شد";

}
else { StatusLabel.Visible = true; StatusLabel.Text = ".وضعیت ارسال فایل: انجام عملیات در پایگاه داده با مشکل روبرو شد"; }
//

}
else
{ StatusLabel.Visible = true; StatusLabel.Text = "وضعیت ارسال فایل: فایل فقط به صورت فشرده پذیرفته می شود"; }

}
else
{ StatusLabel.Visible = true; StatusLabel.Text = ".وضعیت ارسال فایل: نوع فایل انتخابی صحیح نیست"; }
}
catch (Exception ex)
{
StatusLabel.Visible = true; StatusLabel.Text = "Upload status: The file could not be uploaded. The following error occured: " + ex.Message;
}

}
else
{ StatusLabel.Visible = true; StatusLabel.Text = "لطفا فیلدهای مورد نظر را پر نمایید"; }


لطفا راهنماییم کنید

moshavermojarab
یک شنبه 07 تیر 1394, 10:35 صبح
کسی می تونه کمکم کنه؟