profnami
پنج شنبه 09 تیر 1390, 10:38 صبح
سلام دوستان
من میخوام با استفاده از FileUpload هایی که داینامیک تولید کردم چند تا عکس رو آپلود کنم و همزمان با آپلود اونها رو resize هم کنم .
کد هایی که نوشتم اینه :
HttpFileCollection uploads = HttpContext.Current.Request.Files;
for (int i = 0; i < uploads.Count; i++)
{
HttpPostedFile upload = uploads[i];
if (upload.ContentLength == 0)
continue;
string filename = Guid.NewGuid().ToString() + ".jpg";
try
{
System.Drawing.Image img = System.Drawing.Image.FromStream(upload.InputStream );
System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(img, 600, 400);
bmp.Save(Server.MapPath("~/Images/ImageGallery/" + filename), System.Drawing.Imaging.ImageFormat.Jpeg);
//upload.SaveAs(Server.MapPath("~/Images/ImageGallery/" + filename));
helper.InsertRecord(string.Format("INSERT INTO ImageGallery (ImageURL,AlbumId) VALUES ({0},{1})", filename, albumId.ToString()));
Span1.InnerHtml = "Upload(s) Successful.";
}
catch (Exception Exp)
{
Span1.InnerHtml = "Upload(s) FAILED.";
}
}
و کد صفحه ی ASPX :
<td id="upload-area">
<input id="File1" type="file" runat="server" size="60" />
<input id="AddFile" type="button" value="Add file" onclick="addFileUploadBox()" />
<span id="Span1" runat="server" />
<script type="text/javascript">
function addFileUploadBox() {
if (!document.getElementById || !document.createElement)
return false;
var uploadArea = document.getElementById("upload-area");
if (!uploadArea)
return;
var newLine = document.createElement("br");
uploadArea.appendChild(newLine);
var newUploadBox = document.createElement("input");
// Set up the new input for file uploads
newUploadBox.type = "file";
newUploadBox.size = "60";
// The new box needs a name and an ID
if (!addFileUploadBox.lastAssignedId)
addFileUploadBox.lastAssignedId = 100;
newUploadBox.setAttribute("id", "dynamic" + addFileUploadBox.lastAssignedId);
newUploadBox.setAttribute("name", "dynamic:" + addFileUploadBox.lastAssignedId);
uploadArea.appendChild(newUploadBox);
addFileUploadBox.lastAssignedId++;
}
</script>
</td>
اما کار نمیکنن . کسی از دوستان واسه این موضوع راه حلی نداره ؟ میخوام به کاربر امکان این رو بدم که به تعداد دلخواه فایل Upload کنه ( تصویر ) و منم هنگام ذخیره اونها رو Resize کنم ....
ممنون
من میخوام با استفاده از FileUpload هایی که داینامیک تولید کردم چند تا عکس رو آپلود کنم و همزمان با آپلود اونها رو resize هم کنم .
کد هایی که نوشتم اینه :
HttpFileCollection uploads = HttpContext.Current.Request.Files;
for (int i = 0; i < uploads.Count; i++)
{
HttpPostedFile upload = uploads[i];
if (upload.ContentLength == 0)
continue;
string filename = Guid.NewGuid().ToString() + ".jpg";
try
{
System.Drawing.Image img = System.Drawing.Image.FromStream(upload.InputStream );
System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(img, 600, 400);
bmp.Save(Server.MapPath("~/Images/ImageGallery/" + filename), System.Drawing.Imaging.ImageFormat.Jpeg);
//upload.SaveAs(Server.MapPath("~/Images/ImageGallery/" + filename));
helper.InsertRecord(string.Format("INSERT INTO ImageGallery (ImageURL,AlbumId) VALUES ({0},{1})", filename, albumId.ToString()));
Span1.InnerHtml = "Upload(s) Successful.";
}
catch (Exception Exp)
{
Span1.InnerHtml = "Upload(s) FAILED.";
}
}
و کد صفحه ی ASPX :
<td id="upload-area">
<input id="File1" type="file" runat="server" size="60" />
<input id="AddFile" type="button" value="Add file" onclick="addFileUploadBox()" />
<span id="Span1" runat="server" />
<script type="text/javascript">
function addFileUploadBox() {
if (!document.getElementById || !document.createElement)
return false;
var uploadArea = document.getElementById("upload-area");
if (!uploadArea)
return;
var newLine = document.createElement("br");
uploadArea.appendChild(newLine);
var newUploadBox = document.createElement("input");
// Set up the new input for file uploads
newUploadBox.type = "file";
newUploadBox.size = "60";
// The new box needs a name and an ID
if (!addFileUploadBox.lastAssignedId)
addFileUploadBox.lastAssignedId = 100;
newUploadBox.setAttribute("id", "dynamic" + addFileUploadBox.lastAssignedId);
newUploadBox.setAttribute("name", "dynamic:" + addFileUploadBox.lastAssignedId);
uploadArea.appendChild(newUploadBox);
addFileUploadBox.lastAssignedId++;
}
</script>
</td>
اما کار نمیکنن . کسی از دوستان واسه این موضوع راه حلی نداره ؟ میخوام به کاربر امکان این رو بدم که به تعداد دلخواه فایل Upload کنه ( تصویر ) و منم هنگام ذخیره اونها رو Resize کنم ....
ممنون