PDA

View Full Version : سوال: چجوری قبل از ذخیره تصویر آپلود شده پیش نمایش آن را دید؟



farshadvl
چهارشنبه 10 اردیبهشت 1393, 22:43 عصر
با سلام
من انجمن را گشتم اما مطلب مورد نظرم را پیدا نکردم
من میخوام بوسیله html , php یک کنترل آپلود فایل روی فرمم بزارم وقتی کاربر بوسیله ان عکس خود را اپلود کرد قبل از ذخیره توسط تابه move_uploaded_file ابتدا عکس را درون یک نگ <img /> نمایش بدم پس از تایید توسط کاربر درون سرور ذخیره بشه.
الان من چیکار کنم تا این تصویر پیش نمایشش نشون داده بشه

cpuram
چهارشنبه 10 اردیبهشت 1393, 23:02 عصر
همین که شما دکمه submit رو بزنی اونطرف فایل دریافت میشه و باید توسط تابع move_uploaded_file یکجایی ذخیره بشه .

ببین این به کارت میاد؟
http://stackoverflow.com/questions/18189330/rails-3-best-way-to-preview-image-before-upload
http://stackoverflow.com/questions/4459379/preview-an-image-before-it-is-uploaded

farshadvl
پنج شنبه 11 اردیبهشت 1393, 08:24 صبح
وقتی آپلود میشه میره توی پوشه tmp سرور منمیخام قبل از اینکه از تابع move_uploaded_file استفاده کنم اول عکس رو نمایش بدم بعدش انتقالش بدم توی یک پوشه خاص

mtnam1372
پنج شنبه 11 اردیبهشت 1393, 08:43 صبح
شما پیش نمایش رو باید با جاوا اسکریپت نمایش دهید پیشنهاد میکنم سوالتون رو در بخش طراحی مطرح کنید

farshadvl
جمعه 12 اردیبهشت 1393, 11:42 صبح
دوست عزیز کاری به جاوا اسکریپت نداره وقتی یک فایل رو آپلود میکنیم میره تو پوشه tmp سرور با پسوند tmp مثلا فایل adasdasda.tmp حالا من این فایل رو میتونم با دستور readfile() بخونم اما نمیدونم چجوری تبدیلش کنم به jpg که بتونم توی کنترل img نشون بدم

morrning
جمعه 12 اردیبهشت 1393, 13:07 عصر
دوست عزیز کاری به جاوا اسکریپت نداره وقتی یک فایل رو آپلود میکنیم میره تو پوشه tmp سرور با پسوند tmp مثلا فایل adasdasda.tmp حالا من این فایل رو میتونم با دستور readfile() بخونم اما نمیدونم چجوری تبدیلش کنم به jpg که بتونم توی کنترل img نشون بدم
لازم نیست شما فایل رو به سرور منتقل کنید چون این راه اصلا استاندارد نیست.
اول با جاوا اسکریپت فایل رو روی کلاینت نمایش میدی و در صورت تایید اونو به سرور منتقل میکنی.
این کار توسط کلاس FileReader در جاوا اسکریپت انجام میشه.

لینک زیر کمکت میکنه.
http://stackoverflow.com/questions/4459379/preview-an-image-before-it-is-uploaded

cpuram
جمعه 12 اردیبهشت 1393, 14:47 عصر
دوست عزیز کاری به جاوا اسکریپت نداره وقتی یک فایل رو آپلود میکنیم میره تو پوشه tmp سرور با پسوند tmp مثلا فایل adasdasda.tmp حالا من این فایل رو میتونم با دستور readfile() بخونم اما نمیدونم چجوری تبدیلش کنم به jpg که بتونم توی کنترل img نشون بدم

راهش همینه

<!doctype HTML>
<html>
<head>
<meta charset="utf-8" content="text/html" http-equiv="content-type">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
//JS File
$(document).ready(function(){
var preview = $(".upload-preview img");

$(".file").change(function(event){
var input = $(event.currentTarget);
var file = input[0].files[0];
var reader = new FileReader();
reader.onload = function(e){
image_base64 = e.target.result;
preview.attr("src", image_base64);
};
reader.readAsDataURL(file);
});
});
</script>
<div class="upload-preview">
<img width="100" height="100" />
</div>
<form action="" method="post" enctype="multipart/form-data">

<input class="file" name="logo" type="file"><br> <?php echo PHP_EOL;?>
<input type="submit" value="آپلود فایل" /><br> <?php echo PHP_EOL;?>

</form>


<?php
echo "<pre>";
print_r($_FILES);
echo "</pre>";

?>

</body>
</html>