`
leonardleonard
  • 浏览: 801762 次
社区版块
存档分类
最新评论

图片上传

阅读更多
图片上传的数据库部分(自动生成所略图
www.chinacs.net  2002-2-15  中文C#技术站


public int FePicDataSet(string strPicTitle, string strPicDate, string strPicName, int intPicType, string strPicIntro, string strThumbnail, int opID)
{

//string strPicTitle,
//string strPicDate,
//string strPicName,
//int intPicType,
//string strPicIntro,
//string strPicName,
//string strThumbnail,
//int opID
SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
SqlCommand myCommand = new SqlCommand("mag_FePicDataSet", myConnection);
// Mark the Command as a SPROC
myCommand.CommandType = CommandType.StoredProcedure;

// Add Parameters to SPROC
SqlParameter parameterUserId = new SqlParameter("@opID", SqlDbType.Int);
parameterUserId.Value = opID;
myCommand.Parameters.Add(parameterUserId);

SqlParameter parameterPicTitle = new SqlParameter("@picTitle", SqlDbType.Char, 30);
parameterPicTitle.Value = strPicTitle;
myCommand.Parameters.Add(parameterPicTitle);

SqlParameter parameterPicDate = new SqlParameter("@picDate", SqlDbType.Char, 10);
parameterPicDate.Value = strPicDate;
myCommand.Parameters.Add(parameterPicDate);

SqlParameter parameterPicName = new SqlParameter("@picName", SqlDbType.Char, 50);
parameterPicName.Value = strPicName;
myCommand.Parameters.Add(parameterPicName);

SqlParameter parameterPicType = new SqlParameter("@picType", SqlDbType.Int);
parameterPicType.Value = intPicType;
myCommand.Parameters.Add(parameterPicType);

SqlParameter parameterPicIntro = new SqlParameter("@picIntro", SqlDbType.Char, 255);
parameterPicIntro.Value = strPicIntro;
myCommand.Parameters.Add(parameterPicIntro);

SqlParameter parameterThumbnail = new SqlParameter("@thumbnail", SqlDbType.Char, 50);
parameterThumbnail.Value = strThumbnail;
myCommand.Parameters.Add(parameterThumbnail);

SqlParameter parameterHostAddress = new SqlParameter("@opIP", SqlDbType.Char, 15);
parameterHostAddress.Value = Context.Request.UserHostAddress;
myCommand.Parameters.Add(parameterHostAddress);

//SqlParameter parameterRID = new SqlParameter("@returnID", SqlDbType.Int);
//parameterReturnUserID.Value = -1;
//parameterRID.Direction = ParameterDirection.Output;
//myCommand.Parameters.Add(parameterRID);

// Execute the command in a try/catch to catch duplicate username errors
try
{
// Open the connection and execute the Command
myConnection.Open();
myCommand.ExecuteNonQuery();
}
catch
{

// failed to create a new user
return -1;
}
finally
{

// Close the Connection
if (myConnection.State == ConnectionState.Open)
myConnection.Close();
}

return 1;

}


图片上传的Codebehind(自动生成所略图)
www.chinacs.net  2002-2-15  中文C#技术站


using System;
using System.Collections;
using System.ComponentModel;
using System.Configuration;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Text;
using cj168.util;


namespace cj168.Web.Mag.Admins.FeData
{
/// <summary>
/// Summary description for fedata.
/// </summary>
public class feUploadPic : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox txtboxPicTitle;
protected System.Web.UI.WebControls.Calendar calPicDate;
protected System.Web.UI.WebControls.DropDownList ddlPicType;
protected System.Web.UI.WebControls.TextBox txtboxPicIntro;
protected System.Web.UI.HtmlControls.HtmlInputFile filePicName;
protected System.Web.UI.WebControls.Button btnSubmit;
protected System.Web.UI.WebControls.Label lblPicInfo;
protected System.Web.UI.WebControls.TextBox txtboxPicDate;
protected System.Web.UI.WebControls.RequiredFieldValidator Requiredfieldvalidator1;
protected System.Web.UI.WebControls.RegularExpressionValidator vldCatName;
protected System.Web.UI.WebControls.RequiredFieldValidator Requiredfieldvalidator2;
protected System.Web.UI.WebControls.CustomValidator CustomValidator1;
protected System.Web.UI.WebControls.RegularExpressionValidator RegularExpressionValidator1;
protected System.Web.UI.WebControls.HyperLink hlkOriPic;
protected System.Web.UI.WebControls.HyperLink hlkNewPic;
protected System.Web.UI.WebControls.RegularExpressionValidator Regularexpressionvalidator2;
protected System.Web.UI.WebControls.RegularExpressionValidator Regularexpressionvalidator3;
protected System.Web.UI.WebControls.CheckBoxList checkboxlistRewrite;

private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
//if(Page.IsPostBack)
//txtboxPicDate.Text = calPicDate.SelectedDate.ToString();

if(!Page.IsPostBack)
{
Bind2DropDownListPicType();

//for(int i = 0;i < Request.Files.Count; i++)
//{
// checkboxlistRewrite.Items[i].Selected = false;
//}
}

}

public void Bind2DropDownListPicType()
{
cj168.DataAccess.Admins admins = new cj168.DataAccess.Admins();
DataSet ds = admins.FePicTypeGet();
//ddlPicType.DataSource = ;
DataView dv = new DataView(ds.Tables["PicType"]);

DataRowView drv = dv.AddNew();
//DataColumnView dcv = dv.AddNew();
drv["Title"] = "请选择";
drv["fePicTypeID"] = "0";
drv.EndEdit();


dv.Sort = "fePicTypeID";

ddlPicType.DataSource = dv;

ddlPicType.DataBind();
}

public void UploadFile(object sender, System.EventArgs e)
{

string imgNameOnly, imgNameNoExt, imgExt;
string imgThumbnail;
int erroNumber = 0;
System.Drawing.Image oriImg, newImg;
string strFePicSavePath = ConfigurationSettings.AppSettings["FePicSavePath"].ToString();
string strFePicThumbFormat = ConfigurationSettings.AppSettings["FePicThumbFormat"].ToString().ToLower();
int intFeThumbWidth = Int32.Parse(ConfigurationSettings.AppSettings["FePicThumbWidth"]);
string fileExt;
string strPicTitle = txtboxPicTitle.Text;
string strPicIntro = txtboxPicIntro.Text;
string strPicDate = txtboxPicDate.Text;

int intPicType = Int32.Parse(ddlPicType.SelectedItem.Value);
string strPicType = intPicType.ToString() + "_" + DateTime.Now.Date.ToShortDateString() + "_";
string strFePicWebPath = ConfigurationSettings.AppSettings["FePicWebPath"];

cj168.DataAccess.Admins admins = new cj168.DataAccess.Admins();

//if(admins.FePicTypeSet(textboxTitle.Text,0) < 0)
// lblAddPicInfo.Text = "操作失败:已经存在相同名称类型,请修改";
//else
// lblAddPicInfo.Text = "操作成功";


StringBuilder picInfo = new StringBuilder();

if(Page.IsValid)
{


for(int i = 0;i < Request.Files.Count; i++)
{
HttpPostedFile PostedFile = Request.Files[i];
fileExt = (System.IO.Path.GetExtension(PostedFile.FileName)).ToString().ToLower();
//5-test.jpg
imgNameOnly = strPicType + System.IO.Path.GetFileName(PostedFile.FileName);
if(fileExt == ".jpg" || fileExt == ".gif" || fileExt == ".png")
{

if(System.IO.File.Exists(strFePicSavePath + imgNameOnly) && (checkboxlistRewrite.Items[i].Selected == false))
{
erroNumber = erroNumber + 1;
picInfo.Append("<b>错误:</b>文件("+ (i+1) +") " + imgNameOnly + " 已经存在,请修改文件名<br>" );
}
}
else
{
erroNumber = erroNumber + 1;
if(fileExt == "")
picInfo.Append("<b>错误:</b>请选择文件<br>" );
else
picInfo.Append("<b>错误:</b>文件("+ (i+1) +") " + imgNameOnly + " 扩展名 " + fileExt + " 不被许可<br>" );
}

}

if(erroNumber > 0)
{
picInfo.Append("<font color=red>全部操作均未完成,请修改错误,再进行操作</font><br>");

hlkOriPic.ImageUrl = "";
hlkOriPic.ToolTip = "";
hlkNewPic.ImageUrl = "";
hlkNewPic.ToolTip = "";
}
else
{
for(int i = 0;i < Request.Files.Count; i++)
{

HttpPostedFile PostedFile = Request.Files[i];
imgNameOnly = strPicType + System.IO.Path.GetFileName(PostedFile.FileName);
imgNameNoExt = System.IO.Path.GetFileNameWithoutExtension(PostedFile.FileName);
imgExt = System.IO.Path.GetExtension(PostedFile.FileName).ToString().ToLower();


oriImg = System.Drawing.Image.FromStream(PostedFile.InputStream);
newImg = oriImg.GetThumbnailImage(intFeThumbWidth, intFeThumbWidth * oriImg.Height/oriImg.Width,null,new System.IntPtr(0));
switch(imgExt)
{
//case ".jpeg":
case ".jpg":
oriImg.Save(strFePicSavePath + imgNameOnly , System.Drawing.Imaging.ImageFormat.Jpeg);
break;
case ".gif":
oriImg.Save(strFePicSavePath + imgNameOnly , System.Drawing.Imaging.ImageFormat.Gif);
break;
case ".png":
oriImg.Save(strFePicSavePath + imgNameOnly , System.Drawing.Imaging.ImageFormat.Png);
break;
}

//oriImg.Save(ConfigurationSettings.AppSettings["FePicSavePath"] + imgNameNoExt + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);


switch(strFePicThumbFormat)
{
//jpeg format can get the smallest file size, and the png is the largest size
//case "jpeg":
case "jpg":
newImg.Save(strFePicSavePath + imgNameOnly + "_thumb.jpg",System.Drawing.Imaging.ImageFormat.Jpeg);
imgThumbnail = imgNameOnly + "_thumb.jpg";
break;
case "gif":
newImg.Save(strFePicSavePath + imgNameOnly + "_thumb.gif",System.Drawing.Imaging.ImageFormat.Gif);
imgThumbnail = imgNameOnly + "_thumb.gif";
break;
case "png":
newImg.Save(strFePicSavePath + imgNameOnly + "_thumb.png",System.Drawing.Imaging.ImageFormat.Png);
imgThumbnail = imgNameOnly + "_thumb.png";
break;
default:
newImg.Save(strFePicSavePath + imgNameOnly + "_thumb.jpg",System.Drawing.Imaging.ImageFormat.Jpeg);
imgThumbnail = imgNameOnly + "_thumb.jpg";
break;

}//switch

picInfo.Append("<b>文件 名:</b>" + imgNameOnly + " ( " + oriImg.Width + " x " + oriImg.Height + " ) " + PostedFile.ContentLength/1024 + "KB<br>");
picInfo.Append("<b>缩略图名:</b>" + imgThumbnail + " ( " + newImg.Width + " x " + newImg.Height + " )<br><br>");

hlkOriPic.ImageUrl = strFePicWebPath + imgNameOnly;
hlkOriPic.ToolTip = "◆原图◆\n文件名:" + imgNameOnly + "\n尺寸:" + oriImg.Width + " x " + oriImg.Height + "\n字节:" + PostedFile.ContentLength/1024 + "KB";
hlkNewPic.ImageUrl = strFePicWebPath + imgThumbnail;
hlkNewPic.ToolTip = "◆缩略图◆\n文件名:" + imgThumbnail + "\n尺寸:" + newImg.Width + " x " + newImg.Height;


oriImg.Dispose();
newImg.Dispose();
picInfo.Append("<font color=red>图片上传成功</font><br>");
if(admins.FePicDataSet(strPicTitle, strPicDate, imgNameOnly, intPicType, strPicIntro, imgThumbnail,0) < 0)
picInfo.Append("<font color=red>保存信息到数据库失败</font><br>");
else
picInfo.Append("<font color=red>保存信息到数据库成功</font><br>");

}//for
picInfo.Append("<font color=red>所有操作成功</font><br>");

}// if erronumber = 0

}
else
{
picInfo.Append("<font color=red>有错误,请检查。操作未成功</font><br>");

hlkOriPic.ImageUrl = "";
hlkOriPic.ToolTip = "";
hlkNewPic.ImageUrl = "";
hlkNewPic.ToolTip = "";

}

for(int i = 0;i < Request.Files.Count; i++)
{
checkboxlistRewrite.Items[i].Selected = false;
}

lblPicInfo.Text = picInfo.ToString();

}

public void CalDateSelected(object sender,System.EventArgs e)
{
txtboxPicDate.Text = calPicDate.SelectedDate.ToShortDateString();

}

public void ServerValidateCheckDate(object sender, System.Web.UI.WebControls.ServerValidateEventArgs value)
{
cj168.util.iUtil iUtils = new cj168.util.iUtil();
if(!iUtils.IsDate(value.Value))
value.IsValid = false;
else
value.IsValid = true;

}

#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion
}
}


图片上传的WebForm(自动生成所略图)
www.chinacs.net  2002-2-15  中文C#技术站


<%@ Page language="c#" Codebehind="feUploadPic.aspx.cs" AutoEventWireup="false" Inherits="cj168.Web.Mag.Admins.FeData.feUploadPic" %>
<%@ Register TagPrefix="cj168" TagName="Header" Src="modules/headerFe.ascx" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>fedata</title>
<meta content="Microsoft Visual Studio 7.0" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<style>BODY { FONT-SIZE: 9pt }
.calPicDate { FONT-SIZE: 9pt; FONT-FAMILY: Verdana, Helvetica, sans-serif }
.valid { FONT-SIZE: 9pt; COLOR: red }
TD { FONT-SIZE: 9pt }
</style>
</HEAD>
<body MS_POSITIONING="GridLayout">
<table width="100%">
<tr>
<td><cj168:header id="Header1" runat="server"></cj168:header></td>
</tr>
</table>
<form id="fedata" method="post" encType="multipart/form-data" runat="server">
<TABLE id="Table1" cellSpacing="0" cellPadding="1" width="750" border="1">
<TR>
<TD width="70">图片标题</TD>
<TD><asp:textbox id="txtboxPicTitle" runat="server"></asp:textbox><br>
<asp:requiredfieldvalidator id="Requiredfieldvalidator1" runat="server" ErrorMessage="请填写图片标题。" CssClass="valid" ControlToValidate="txtboxPicTitle"></asp:requiredfieldvalidator><br>
<asp:regularexpressionvalidator id="vldCatName" ErrorMessage="图片标题至少2个字符,不应包含'“ ” ! @ # $ % ^ & * ( ) < > 《 》{ } [ ] ? 。,? ¥" CssClass="valid" ControlToValidate="txtboxPicTitle" ValidationExpression="[^'^“^”^\^!^@^#^$^%^\^^&^*^(^)^<^>^《^》^?^。^,^?^¥^\{^\}^\][^\]]{2,}" Runat="server"></asp:regularexpressionvalidator></TD>
</TR>
<TR>
<TD>图片日期</TD>
<TD><asp:textbox id="txtboxPicDate" runat="server" Width="300"></asp:textbox><asp:calendar id="calPicDate" runat="server" CssClass="calPicDate" Width="300" SelectMonthText="本月" SelectWeekText="本周" NextPrevFormat="FullMonth" OnSelectionChanged="CalDateSelected">
<NextPrevStyle CssClass="calPicDate"></NextPrevStyle>
<WeekendDayStyle ForeColor="red"></WeekendDayStyle>
<TodayDayStyle Font-Bold="True" ForeColor="red" BackColor="#ccccff"></TodayDayStyle>
<SelectedDayStyle BackColor="black" Font-Bold="true"></SelectedDayStyle>
</asp:calendar><BR>
<asp:requiredfieldvalidator id="Requiredfieldvalidator2" runat="server" ErrorMessage="请选择或填写图片日期。" CssClass="valid" ControlToValidate="txtboxPicDate"></asp:requiredfieldvalidator><br>
<asp:customvalidator id="CustomValidator1" ErrorMessage="不是个有效的日期格式" CssClass="valid" ControlToValidate="txtboxPicDate" Runat="server" OnServerValidate="ServerValidateCheckDate"></asp:customvalidator></TD>
</TR>
<TR>
<TD>图片分类</TD>
<TD><asp:dropdownlist id="ddlPicType" runat="server" DataValueField="fePicTypeID" DataTextField="Title"></asp:dropdownlist><FONT face="宋体"> </FONT><asp:regularexpressionvalidator id="RegularExpressionValidator1" ErrorMessage="请选择图片分类" CssClass="valid" ControlToValidate="ddlPicType" ValidationExpression="[^0]{1,}" Runat="server"></asp:regularexpressionvalidator></TD>
</TR>
<TR>
<TD>图片介绍</TD>
<TD><asp:textbox id="txtboxPicIntro" runat="server" MaxLength="255" TextMode="MultiLine" Columns="50" Rows="5"></asp:textbox>
<asp:RegularExpressionValidator id="Regularexpressionvalidator2" Runat="server" CssClass="valid" ErrorMessage="内容中不应包含 ' < >" ControlToValidate="txtboxPicIntro" ValidationExpression="[^'^<^>]{0,}"></asp:RegularExpressionValidator>
</TD>
</TR>
<tr>
<td colSpan="2">(支持文件格式:Jpg, Gif, Png)</td>
</tr>
</TABLE>
<table cellSpacing="0" width="750" border="1">
<tr>
<td width="70">图片名称</td>
<td width="300"><INPUT title="浏览" type="file" size="25" name="filePicName" runat="server" ID="filePicName">
<asp:RegularExpressionValidator id="Regularexpressionvalidator3" Runat="server" CssClass="valid" ErrorMessage="文件名只能由字母或数字组成,不能包含 - _ 等其他符号长度至少为1" ControlToValidate="filePicName" ValidationExpression="[ :.\\a-zA-Z0-9]{1,}"></asp:RegularExpressionValidator>
</td>
<td><asp:checkboxlist id="checkboxlistRewrite" runat="server" BorderWidth="0" Height="100%" CellPadding="5" RepeatLayout="Table" RepeatColumns="1" RepeatDirection="Vertical">
<asp:ListItem Value="1">覆盖原有图片</asp:ListItem>
</asp:checkboxlist></td>
</tr>
</table>
<table cellSpacing="0" width="750" border="1">
<TR>
<TD align="middle"><asp:button id="btnSubmit" onclick="UploadFile" runat="server" Text="确定"></asp:button></TD>
</TR>
<TR>
<TD><asp:label id="lblPicInfo" runat="server">Label</asp:label></TD>
</TR>
<TR>
<TD><FONT face="宋体"></FONT>
</TD>
</TR>
</table>
</form>
<asp:HyperLink id="hlkOriPic" runat="server">原图</asp:HyperLink>
<asp:HyperLink id="hlkNewPic" runat="server">缩略图</asp:HyperLink>
</body>
</HTML>

分享到:
评论

相关推荐

    ASP图片上传组件 图片批量上传控件 图片上传插件

    ASP图片上传组件是一种在Web应用中用于处理用户端图片上传功能的工具,它极大地简化了开发者在ASP(Active Server Pages)环境下实现图片上传的过程。图片批量上传控件和插件则进一步增强了这种功能,允许用户一次性...

    vue+elementUI实现图片上传功能

    在前端开发中,图片上传是一种常见需求,Vue.js作为现代web开发中非常受欢迎的JavaScript框架之一,与Element UI这一基于Vue 2.0的桌面端组件库结合使用时,可以非常便捷地实现图片上传功能。Element UI提供了丰富的...

    易语言post图片上传

    本知识点聚焦于使用易语言进行POST方式的图片上传操作,这是一种常见的网络数据传输方法,尤其在网页表单提交、文件上传等场景中广泛应用。 在Web开发中,POST请求常用于向服务器发送数据,包括文本、图片等各种...

    ASP批量上传简便无刷新文件图片上传系统

    在图片上传的场景下,ASP批量上传系统可能还会包含图像处理功能,如缩略图生成、尺寸调整、质量优化等。这通常需要利用到服务器端的图像处理库,如GD库或ImageMagick。 安全方面,ASP批量上传系统需要防止恶意文件...

    移动web图片上传

    在移动Web开发中,图片上传是一项常见的功能,它允许用户通过手机浏览器选择并发送本地图片到服务器。这个过程涉及到前端和后端的交互,并且为了提供良好的用户体验,通常需要显示上传进度条。以下是对这个主题的...

    Jsp图片上传资料并将图片路径上传至数据库

    在IT行业中,图片上传功能是Web应用中常见且重要的组成部分,尤其在社交媒体、电商网站以及内容管理系统等场景中。本文将详细讲解如何实现一个基于JSP的图片上传功能,并将图片路径存储到MSSQL2000数据库中的技术...

    Android图片上传队列Service

    在Android应用开发中,图片上传是一项常见的功能,尤其是在社交、媒体分享或云存储类的应用中。为了实现这一功能,开发者通常需要设计一个高效且可靠的图片上传队列Service。本篇文章将详细探讨如何创建一个名为...

    C#图片上传,用于winform,带图片预览

    在C#编程环境中,开发一个用于WinForms应用的图片上传功能是一项常见的任务,尤其是在构建具有用户交互界面的应用程序时。这个功能通常会结合文件选择、图片预览以及上传操作,为用户提供直观且易于使用的体验。以下...

    uniapp多张图片上传.rar

    本示例项目 "uniapp多张图片上传.rar" 提供了一个关于如何在 uniapp 中实现多张图片上传的实例,下面我们将详细探讨这个知识点。 首先,`main.js` 是应用的主入口文件,通常用于配置全局变量和挂载根 Vue 实例。在...

    Java实现图片上传

    在IT行业中,图片上传功能是Web应用和移动应用中非常常见的一种需求,特别是在社交媒体、电商、博客等场景下。本文将深入探讨如何使用Java来实现图片上传的功能,主要涉及的技术点包括文件处理、HTTP请求、Multipart...

    MultiPhotoUpload多图片上传

    《MultiPhotoUpload多图片上传技术详解》 在数字化时代的今天,图像信息的交流与分享日益频繁,多图片上传功能已经成为各类应用和平台不可或缺的一部分。"MultiPhotoUpload"就是这样一个专门针对商户平台评论、发表...

    FraUpload多图片上传.zip

    FraUpload多图片上传插件是一款专门用于实现网页端多张图片上传功能的工具,它基于Stable框架构建,提供了一种高效、稳定的解决方案。这款插件不仅支持批量上传,还具备图片预览、可拖动排序等人性化特性,极大地...

    java实现图片上传并显示

    在Java Web开发中,图片上传是一项常见的功能,用于允许用户上传他们的图片文件到服务器,然后在网站上展示。本教程将深入讲解如何使用Struts2框架和Apache Commons FileUpload库来实现这一功能。 首先,我们需要...

    ASP.NET MVC实现图片上传、图片预览显示

    在Web应用开发中,图片上传和预览显示是一项非常常见的需求,涉及到前端页面与后端处理的配合,以及对数据库的操作。 本文详细介绍了如何在*** MVC框架中实现图片上传和预览显示的整个过程,这包括前端页面设计、...

    图片上传本地预览插件

    在IT领域,图片上传本地预览插件是一个常见的功能组件,尤其在网页应用和桌面软件中,它极大地提升了用户体验。这个插件的核心作用是让用户在实际上传图片到服务器之前,能够在本地环境中预览图片效果,确保图片的...

    JS+asp.net+图片上传+预览+支持多上传+上传前预览

    在本文中,我们将深入探讨如何使用JavaScript(JS)与ASP.NET技术实现图片上传、预览以及支持多文件上传和上传前预览的功能。这个技术组合是现代Web应用中常见的需求,尤其是在用户交互丰富的网站和应用中。 首先,...

    struts2图片上传并预览

    在Web开发中,图片上传和预览是常见的功能需求,尤其对于用户交互丰富的应用来说。Struts2提供了一套完善的机制来处理文件上传,包括图片。本文将详细讲解如何利用Struts2实现图片上传并进行预览。 一、Struts2文件...

    Flex4.6+java+servlet上传图片例子+图片上传预览

    这个"Flex4.6+java+servlet上传图片例子+图片上传预览"的项目,结合了前端的Flex技术和后端的Java Servlet,为我们提供了一个完整的解决方案。下面将详细解释这个项目的各个组成部分及其工作原理。 首先,让我们来...

    图片上传展示平台

    提供了图片上传、裁剪和预览等功能,对与图片处理相关的程序具有重要的借鉴参考意义。 使用方法:下载压缩包后解压到本地,然后使用Eclipse或MyEclipse导入项目即可,项目路径中包含docs文件夹,里面有数据库表文件...

    仿淘宝图片上传

    【仿淘宝图片上传】是一个基于jQuery实现的图片上传功能,主要目标是提供与淘宝网站类似的用户体验,让用户能够方便快捷地上传图片。这个功能通常包括图片预览、多图选择、图片裁剪、上传进度显示等多个关键步骤,...

Global site tag (gtag.js) - Google Analytics