PDA

View Full Version : سوال: خواندن نام فایا انتخابی توسط کاربر بدون آپلود فایل به سرور



kamran.compiler
شنبه 31 خرداد 1393, 20:27 عصر
با عرض سلام خدمت دوستان
من میخواهم که کاربر فایلی را انتخاب کند و پس از زدن دکمه ای من نام این فایل را بخوانم و فایل آپلود نشود.چون حجم فایل ها بالا می باشد. لطفا مرا راهنمایی کنید.

aroshanzamir
شنبه 31 خرداد 1393, 23:32 عصر
سلام دوست من :

یه فایل آپلود روی صفحه میزارم :

<input id="_FileUpload" name="FileUpload" type="file" />


با جیکوئری نام را بدست می آورم :


$(function () {
$('#_FileUpload').change(function () {
var f = this.files[0]
alert(f.name);
})
});



تا اینجا فقط نام فایل را نمایش میده اگر خواستی حجم را بدست بیاوری می تونی از این روش استفاده کنی :

$(function () {
$('#_FileUpload').change(function () {
var f = this.files[0]
alert(f.size || f.fileSize);
})
});




یه چیز دیگه حتی اگر فایل انتخابی شما عکس هم باشه می تونی قبل از آپلود اون را ببینی :


<div>
<input type="file" name="FileUpload" id="_FileUpload" onchange="showimagepreview(this)" />
</div>
<img id="ImageBeforUpload" alt="uploaded image preview" />



کد جاوا اسکریپت :


function showimagepreview(input) {
if (input.files && input.files[0]) {
var filerdr = new FileReader();
filerdr.onload = function (e) {
$('#ImageBeforUpload').attr('src', e.target.result);
}
filerdr.readAsDataURL(input.files[0]);
}
}




موفق و پیروز باشی

kamran.compiler
یک شنبه 01 تیر 1393, 21:51 عصر
مرسی بابت راهنمایی خوبی کردی . ولی من هر کاری می کنم این کارو واسم انجام نمیده . اینم کدیه که شما گفتی توش نوشتم.
<%@ Page Language="C#‎‎‎" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="test.WebForm1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript" >
$(function () {
$('#File1').change(function () {
var f = this.files[0]
alert(f.name);
})
});
</script>
</head>
<body>


<form id="form1" runat="server">
<div>
<input id="File1" type="file" />

</div>
</form>

</body>

</html>

بعدم من میخام این مقدار تو textbox ریخته بشه . text box که از کنترل های سمت سرور باشد. اینو باید چیکا کنم ؟ پیشاپیش ممنون

aroshanzamir
دوشنبه 02 تیر 1393, 00:26 صبح
سلام دوست من : مشکل اول اینجاست که شما کتابخانه JQuery را به صفحه اضافه نکردی
2-زمانی که فایل انتخاب شد نام اون در یک تکس باکس سمت سور نمایش داده می شود :

کد جاوا اسکریپت :

<script type="text/javascript" lang="en">
$(function () {
$('#_FileUpload').change(function () {
var f = this.files[0]
$("#<%: txtNameFileUpload.ClientID%>").val(f.name);
})
});
</script>



این هم HTML


<input id="_FileUpload" name="FileUpload" type="file" />


<br />
<asp:TextBox ID="txtNameFileUpload" runat="server"></asp:TextBox>



دوباره یادآوری می کنم کتابخانه JQuery را حتما به صفحه اضافه کنید ... اینو را من تست کردم .

اگر این کتابخانه را نداری می تونی دانلود کنی یا

بجای اون از این آدرس استفاده کنی :



<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


موفق و پیروز باشی

Ali.hitter
دوشنبه 02 تیر 1393, 01:01 صبح
سلام دوست عزیز به نظر بنده فضای اسمی System.Windows.Forms رو اضافه کن و از FolderBrowserDialog استفاده کن

aroshanzamir
دوشنبه 02 تیر 1393, 19:57 عصر
سلام دوست عزیز به نظر بنده فضای اسمی System.Windows.Forms رو اضافه کن و از FolderBrowserDialog استفاده کن

سلام علی آقا داری ویندوز و وب را اشتباه میگیری

موفق باشی