asp.net2.0推荐一个功能强大的图片选择控件

Asp.net 2.0电子商务网站完整源码解析 本文还有配套的精品资源,点击获取 简介:Asp.NET 2.0电子商务网站源码提供了构建在线购物平台所需的所有文件和目录。该源码包含Visual Studio解决方案文件、使用指南、自定义控件、业务逻辑层、前端页面和数据访问层等关键部分,是学习和定制电子商务系统的重要资源。 1. Asp.NET 2.0框架介绍 在现代的web应用开发中,一个功能丰富、易于扩... 阅读详情

在做网站的时候,很多情况用到图片上传与选择。FreeTextBox控件里用一个图片选择控件,我觉得很好,就单独拿出来用了。
1、建立TestImgSelect网站,建立images文件夹,在images里建立face文件夹用来存放头像,图片如下:

5.gif

8.gif

9.gif

10.gif

2、建立user文件夹,在里面建立SelectImage.aspx文件和Default.aspx文件
3、SelectImage.aspx代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SelectImage.aspx.cs" Inherits="user_SelectImage" %>
<!--DOCTYPE不能换,否则滚动条不正确 -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html xmlns="http://www.w3.org/1999/xhtml" >
    
<head>
        
<title>
            选择图片
        
</title>
        
<!--
        加入时效控制以让其响应服务器端事件,加入回发目标,以不弹出另一个界面
        
-->
        
<meta http-equiv="Expires" content="0"/>
        
<base target="_self"/>
        
<style type="text/css">
            body { border-right: 0px; padding-right: 0px; border-top: 0px; padding-left: 0px; background: #ffffff; padding-bottom: 0px; margin: 0px; overflow: hidden; border-left: 0px; width: 100%; padding-top: 0px; border-bottom: 0px }

            body 
{ font-size: 10pt; color: #000000; font-family: verdana, arial, helvetica, sans-serif }
            tr 
{ font-size: 10pt; color: #000000; font-family: verdana, arial, helvetica, sans-serif }
            td 
{ font-size: 10pt; color: #000000; font-family: verdana, arial, helvetica, sans-serif }
            div.imagespacer 
{ float: left; margin: 5px; font: 10pt verdana; overflow: hidden; width: 120px; height: 126px; text-align: center }
            div.imageholder 
{ border-right: #cccccc 1px solid; padding-right: 0px; border-top: #cccccc 1px solid; padding-left: 0px; padding-bottom: 0px; margin: 0px; border-left: #cccccc 1px solid; width: 100px; padding-top: 0px; border-bottom: #cccccc 1px solid; height: 100px }
            div.titleholder 
{ font-size: 8pt; overflow: hidden; width: 100px; font-family: ms sans serif, arial; white-space: nowrap; text-overflow: ellipsis }
            .box 
{ border-right: #000000 1px solid; border-top: #000000 1px solid; border-left: #000000 1px solid; border-bottom: #000000 1px solid }

     </style>
    
</head>
    <script language="javascript" type="text/javascript">

        lastDiv 
= null;
        
function
 divClick(theDiv,filename) {
            
if
 (lastDiv) {
                lastDiv.style.border 
= "1 solid #CCCCCC"
;
            }
            lastDiv 
=
 theDiv;
            theDiv.style.border 
= "2 solid #316AC5"
;
            document.getElementById(
"FileToDelete").value =
 filename;
        }

        
function
 gotoFolder(rootfolder,newfolder) {
            window.navigate(
"ftb.imagegallery.aspx?frame=1&rif=" + rootfolder + "&cif=" +
 newfolder);
        }    
            
        
function
 returnImage(imagename,width,height) {
            
var arr = new
 Array();
            arr[
"filename"] =
 imagename;  
            arr[
"width"] =
 width;  
            arr[
"height"] =
 height;             
            window.parent.returnValue 
=
 arr;
            window.parent.close();    
        }        
    
</script>

<body>
        
<form id="Form1" method="post" runat="server">
            
<table cellpadding="0" cellspacing="0" border="0" style="width: 100%; height: 100%;">
                
<tr>
                    
<td>
                        
<div id="galleryarea" style=" OVERFLOW:auto; width:100%; HEIGHT:100%">
                            
<asp:label id="gallerymessage" runat="server"></asp:label>
                            
<asp:panel id="GalleryPanel" runat="server"></asp:panel>
                        
</div>
                    
</td>
                
</tr>
                
<asp:Panel id="UploadPanel" runat="server">
                    
<tr>
                        
<td style="BORDER-TOP: #999999 1px solid; PADDING-LEFT: 10px; BACKGROUND-COLOR: whitesmoke" height="16">
                            
<table>
                                
<tr>
                                    
<td valign="top">点击浏览后选择图片,再点击上传你的自定义图像<BR>
                                            之后在列表中选择你的自定义图像
</td>
                                    
<td valign="top"></td>
                                    
<td style="width: 169px" valign="top"></td>
                                    
<td valign="middle"></td>
                                
</tr>
                                
<tr>
                                    
<td valign="top">
                                    
<input class="box" id="UploadFile" style="width: 312px; HEIGHT: 20px" type="file" size="32" name="UploadFile" runat="server"/></td>
                                    
<td valign="top">
                                        
<asp:Button id="btnUpload" runat="server" CssClass="box" Text="上传 " Width="32px" onclick="UploadImage_OnClick"></asp:Button></td>
                                    
<td style="width: 169px" valign="top">
                                        
<asp:button id="DeleteImage" runat="server" CssClass="box" Text="删除" onclick="DeleteImage_OnClick"></asp:button></td>
                                    
<td valign="middle" noWrap>
                                            
<asp:HyperLink id="HyperLink1" runat="server" NavigateUrl="javascript:window.close()">关闭</asp:HyperLink></td>
                                
</tr>
                                
<tr>
                                    
<td style="width: 524px" colspan="3">
                                        
<asp:Label id="ResultsMessage" runat="server" ForeColor="OrangeRed"></asp:Label></td>
                                
</tr>
                            
</table>
                            
<input id="FileToDelete" type="hidden" name="FileToDelete" runat="server"/> 
                            
<input id="RootImagesFolder" type="hidden" value="images" name="RootImagesFolder" runat="server"/>

                            
<input id="CurrentImagesFolder" type="hidden" value="images" name="CurrentImagesFolder" runat="server" />
                        
</td>
                    
</tr>
                
</asp:Panel>
            
</table>
        
</form>
    
</body>
</html>


    

4、SelectImage.aspx.cs代码如下,注意private string DefaultImageFolder = "images//face";//图片存放路径:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class user_SelectImage : System.Web.UI.Page
{
    private string NoFileMessage = "未选中任何文件";
    private string UploadSuccessMessage = "上传成功";
    private string NoImagesMessage = "没有图像";
    private string NoFolderSpecifiedMessage = "没有文件夹";
    private string NoFileToDeleteMessage = "没有文件可删除";
    private string InvalidFileTypeMessage = "不合法的文件类型";
    private string BigImgmsg = "图片宽度或长度过大!";
    private string BigSizemsg = "图片大小过大!";
    private string[] AcceptedFileTypes = new string[] { "jpg", "jpeg", "jpe", "gif", "bmp", "png" };

    // Configuration
    private bool UploadIsEnabled = true;
    private bool DeleteIsEnabled = false;
    private string DefaultImageFolder = "images//face";//图片存放路径
    protected void Page_Load(object sender, System.EventArgs e)
    {
       // 在此处放置用户代码以初始化页面
        RootImagesFolder.Value = DefaultImageFolder;
        CurrentImagesFolder.Value = DefaultImageFolder;
        UploadPanel.Visible = UploadIsEnabled;
        DeleteImage.Visible = DeleteIsEnabled;

        if (!IsPostBack)
        {
            DisplayImages();
        }
    }

    protected void UploadImage_OnClick(object sender, EventArgs e)
    {
        if (Page.IsValid)
        {
            if (CurrentImagesFolder.Value != "")
            {
                if (UploadFile.PostedFile.FileName.Trim() != "")
                {
                    if (IsValidFileType(UploadFile.PostedFile.FileName))
                    {
                        if (this.isBigWidthorHeight(UploadFile.PostedFile.InputStream))
                        {
                            if (IsBigSize(UploadFile.PostedFile.ContentLength))
                            {
                                try
                                {
                                    string UploadFileName = "";
                                    string UploadFileDestination = "";
                                    UploadFileName = UploadFile.PostedFile.FileName;
                                    UploadFileName = UploadFileName.Substring(UploadFileName.LastIndexOf("//") + 1);
                                    UploadFileDestination = HttpContext.Current.Request.PhysicalApplicationPath;
                                    UploadFileDestination += CurrentImagesFolder.Value;
                                    UploadFileDestination += "//";
                                    UploadFile.PostedFile.SaveAs(UploadFileDestination + UploadFileName);
                                    ResultsMessage.Text = UploadSuccessMessage;
                                }
                                catch
                                {
                                    ResultsMessage.Text = "未能成功上传,有错误发生";
                                }
                            }
                            else
                            {
                                ResultsMessage.Text = this.BigSizemsg;
                            }
                        }
                        else
                        {
                            ResultsMessage.Text = this.BigImgmsg;
                        }
                    }
                    else
                    {
                        ResultsMessage.Text = InvalidFileTypeMessage;
                    }
                }
                else
                {
                    ResultsMessage.Text = NoFileMessage;
                }
            }
            else
            {
                ResultsMessage.Text = NoFolderSpecifiedMessage;
            }
        }
        else
        {
            ResultsMessage.Text = InvalidFileTypeMessage;

        }
        DisplayImages();
    }

    /// <summary>
    /// 图片是否过高或过宽
    /// </summary>
    /// <param name="FileName"></param>
    /// <returns></returns>
    private bool isBigWidthorHeight(System.IO.Stream Fs)
    {
        //判断上传图片的大小,过大的话,不让上传
        System.Drawing.Image myImage = System.Drawing.Image.FromStream(Fs);
        if (myImage.Width > 130 || myImage.Height > 130)
            return false;
        else
            return true;
    }

    /// <summary>
    /// 图片是否过大
    /// </summary>
    /// <param name="imgSize"></param>
    /// <returns></returns>
    private bool IsBigSize(int imgSize)
    {
        if (imgSize > 20 * 1024)
            return false;
        else
            return true;
    }

    /// <summary>
    /// 删除图像
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void DeleteImage_OnClick(object sender, EventArgs e)
    {
        if (FileToDelete.Value != "" && FileToDelete.Value != "undefined")
        {
            try
            {
                string AppPath = HttpContext.Current.Request.PhysicalApplicationPath;
                System.IO.File.Delete(AppPath + CurrentImagesFolder.Value + "//" + FileToDelete.Value);
                ResultsMessage.Text = "已经删除: " + FileToDelete.Value;
            }
            catch
            {
                ResultsMessage.Text = "未能成功删除,有错误发生.";
            }
        }
        else
        {
            ResultsMessage.Text = NoFileToDeleteMessage;
        }
        DisplayImages();
    }

    private bool IsValidFileType(string FileName)
    {
        string ext = FileName.Substring(FileName.LastIndexOf(".") + 1, FileName.Length - FileName.LastIndexOf(".") - 1);
        for (int i = 0; i < AcceptedFileTypes.Length; i++)
        {
            if (ext.ToLower() == AcceptedFileTypes[i])
            {
                return true;

            }
        }
        return false;
    }


    private string[] ReturnFilesArray()
    {
        if (CurrentImagesFolder.Value != "")
        {
            try
            {
                string AppPath = HttpContext.Current.Request.PhysicalApplicationPath;
                string ImageFolderPath = AppPath + CurrentImagesFolder.Value;
                string[] FilesArray = System.IO.Directory.GetFiles(ImageFolderPath, "*");
                return FilesArray;
            }
            catch
            {

                return null;
            }
        }
        else
        {
            return null;
        }

    }

    private string[] ReturnDirectoriesArray()
    {
        if (CurrentImagesFolder.Value != "")
        {
            try
            {
                string AppPath = HttpContext.Current.Request.PhysicalApplicationPath;
                string CurrentFolderPath = AppPath + CurrentImagesFolder.Value;
                string[] DirectoriesArray = System.IO.Directory.GetDirectories(CurrentFolderPath, "*");
                return DirectoriesArray;
            }
            catch
            {
                return null;
            }
        }
        else
        {
            return null;
        }
    }


    public void DisplayImages()
    {
        string[] FilesArray = ReturnFilesArray();
        string[] DirectoriesArray = ReturnDirectoriesArray();
        string AppPath = HttpContext.Current.Request.PhysicalApplicationPath;
        string AppUrl;

        //Get the application's URL
        if (Request.ApplicationPath == "/")
            AppUrl = Request.ApplicationPath;
        else
            AppUrl = Request.ApplicationPath + "/";

        GalleryPanel.Controls.Clear();
        if ((FilesArray == null || FilesArray.Length == 0) && (DirectoriesArray == null || DirectoriesArray.Length == 0))
        {
            gallerymessage.Text = NoImagesMessage + ": " + RootImagesFolder.Value;
        }
        else
        {
            string ImageFileName = "";
            string ImageFileLocation = "";

            int thumbWidth = 94;
            int thumbHeight = 94;

            if (CurrentImagesFolder.Value != RootImagesFolder.Value)
            {

                System.Web.UI.HtmlControls.HtmlImage myHtmlImage = new System.Web.UI.HtmlControls.HtmlImage();
                myHtmlImage.Src = AppUrl + "images/ftb/folder.up.gif";
                myHtmlImage.Attributes["unselectable"] = "on";
                myHtmlImage.Attributes["align"] = "absmiddle";
                myHtmlImage.Attributes["vspace"] = "36";

                string ParentFolder = CurrentImagesFolder.Value.Substring(0, CurrentImagesFolder.Value.LastIndexOf("//"));

                System.Web.UI.WebControls.Panel myImageHolder = new System.Web.UI.WebControls.Panel();
                myImageHolder.CssClass = "imageholder";
                myImageHolder.Attributes["unselectable"] = "on";
                myImageHolder.Attributes["onclick"] = "divClick(this,'');";
                myImageHolder.Attributes["ondblclick"] = "gotoFolder('" + RootImagesFolder.Value + "','" + ParentFolder.Replace("//", "////") + "');";
                myImageHolder.Controls.Add(myHtmlImage);

                System.Web.UI.WebControls.Panel myMainHolder = new System.Web.UI.WebControls.Panel();
                myMainHolder.CssClass = "imagespacer";
                myMainHolder.Controls.Add(myImageHolder);

                System.Web.UI.WebControls.Panel myTitleHolder = new System.Web.UI.WebControls.Panel();
                myTitleHolder.CssClass = "titleHolder";
                myTitleHolder.Controls.Add(new LiteralControl("Up"));
                myMainHolder.Controls.Add(myTitleHolder);

                GalleryPanel.Controls.Add(myMainHolder);

            }

            foreach (string _Directory in DirectoriesArray)
            {

                try
                {
                    string DirectoryName = _Directory.ToString();


                    System.Web.UI.HtmlControls.HtmlImage myHtmlImage = new System.Web.UI.HtmlControls.HtmlImage();
                    myHtmlImage.Src = AppUrl + "images/ftb/folder.big.gif";
                    myHtmlImage.Attributes["unselectable"] = "on";
                    myHtmlImage.Attributes["align"] = "absmiddle";
                    myHtmlImage.Attributes["vspace"] = "29";

                    System.Web.UI.WebControls.Panel myImageHolder = new System.Web.UI.WebControls.Panel();
                    myImageHolder.CssClass = "imageholder";
                    myImageHolder.Attributes["unselectable"] = "on";
                    myImageHolder.Attributes["onclick"] = "divClick(this);";
                    myImageHolder.Attributes["ondblclick"] = "gotoFolder('" + RootImagesFolder.Value + "','" + DirectoryName.Replace(AppPath, "").Replace("//", "////") + "');";
                    myImageHolder.Controls.Add(myHtmlImage);

                    System.Web.UI.WebControls.Panel myMainHolder = new System.Web.UI.WebControls.Panel();
                    myMainHolder.CssClass = "imagespacer";
                    myMainHolder.Controls.Add(myImageHolder);

                    System.Web.UI.WebControls.Panel myTitleHolder = new System.Web.UI.WebControls.Panel();
                    myTitleHolder.CssClass = "titleHolder";
                    myTitleHolder.Controls.Add(new LiteralControl(DirectoryName.Replace(AppPath + CurrentImagesFolder.Value + "//", "")));
                    myMainHolder.Controls.Add(myTitleHolder);

                    GalleryPanel.Controls.Add(myMainHolder);
                }
                catch
                {
                    // nothing for error
                }
            }

            foreach (string ImageFile in FilesArray)
            {

                try
                {

                    ImageFileName = ImageFile.ToString();
                    ImageFileName = ImageFileName.Substring(ImageFileName.LastIndexOf("//") + 1);
                    ImageFileLocation = AppUrl;
                    ImageFileLocation = ImageFileLocation.Substring(ImageFileLocation.LastIndexOf("//") + 1);
                    //galleryfilelocation += "/";
                    ImageFileLocation += CurrentImagesFolder.Value;
                    ImageFileLocation += "/";
                    ImageFileLocation += ImageFileName;
                    System.Web.UI.HtmlControls.HtmlImage myHtmlImage = new System.Web.UI.HtmlControls.HtmlImage();
                    myHtmlImage.Src = ImageFileLocation;
                    System.Drawing.Image myImage = System.Drawing.Image.FromFile(ImageFile.ToString());
                    myHtmlImage.Attributes["unselectable"] = "on";
                    //myHtmlImage.border=0;

                    // landscape image
                    if (myImage.Width > myImage.Height)
                    {
                        if (myImage.Width > thumbWidth)
                        {
                            myHtmlImage.Width = thumbWidth;
                            myHtmlImage.Height = Convert.ToInt32(myImage.Height * thumbWidth / myImage.Width);
                        }
                        else
                        {
                            myHtmlImage.Width = myImage.Width;
                            myHtmlImage.Height = myImage.Height;
                        }
                        // portrait image
                    }
                    else
                    {
                        if (myImage.Height > thumbHeight)
                        {
                            myHtmlImage.Height = thumbHeight;
                            myHtmlImage.Width = Convert.ToInt32(myImage.Width * thumbHeight / myImage.Height);
                        }
                        else
                        {
                            myHtmlImage.Width = myImage.Width;
                            myHtmlImage.Height = myImage.Height;
                        }
                    }

                    if (myHtmlImage.Height < thumbHeight)
                    {
                        myHtmlImage.Attributes["vspace"] = Convert.ToInt32((thumbHeight / 2) - (myHtmlImage.Height / 2)).ToString();
                    }


                    System.Web.UI.WebControls.Panel myImageHolder = new System.Web.UI.WebControls.Panel();
                    myImageHolder.CssClass = "imageholder";
                    myImageHolder.Attributes["onclick"] = "divClick(this,'" + ImageFileName + "');";
                    myImageHolder.Attributes["ondblclick"] = "returnImage('" + ImageFileLocation.Replace("//", "/") + "','" + myImage.Width.ToString() + "','" + myImage.Height.ToString() + "');";
                    myImageHolder.Controls.Add(myHtmlImage);


                    System.Web.UI.WebControls.Panel myMainHolder = new System.Web.UI.WebControls.Panel();
                    myMainHolder.CssClass = "imagespacer";
                    myMainHolder.Controls.Add(myImageHolder);

                    System.Web.UI.WebControls.Panel myTitleHolder = new System.Web.UI.WebControls.Panel();
                    myTitleHolder.CssClass = "titleHolder";
                    myTitleHolder.Controls.Add(new LiteralControl(ImageFileName + "<BR>" + myImage.Width.ToString() + "x" + myImage.Height.ToString()));
                    myMainHolder.Controls.Add(myTitleHolder);

                    //GalleryPanel.Controls.Add(myImage);
                    GalleryPanel.Controls.Add(myMainHolder);

                    myImage.Dispose();
                }
                catch
                {

                }
            }
            gallerymessage.Text = "";
        }
    }
}


5、Default.aspx代码如下,注意document.getElementById("imgFace")是获得页面中的图片,控件ImgFace用来显示选择的结果,document.getElementById("hideImgFace").value用来存放选择图片的路径

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="user_Default" %>

<!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>
</head>
<script language="javascript"  type="text/javascript">
    
function InsertImageFromGallery() 
    {
        imgArr 
= showModalDialog('SelectImage.aspx',window,'dialogWidth:460px; dialogHeight:360px;help:1;status:1;resizeable:0;');

        
if (imgArr != null) 
        {
            imagestring 
= '<IMG SRC=' + imgArr['filename'] + ' HEIGHT=' + imgArr['height'] + ' WIDTH=' + imgArr['width'] + ' BORDER=0>';
            document.getElementById(
"imgFace").src=imgArr['filename'];
            document.getElementById(
"imgFace").HEIGHT=imgArr['height'];
            document.getElementById(
"imgFace").WIDTH=imgArr['width'];
            document.getElementById(
"hideImgFace").value=imgArr['filename'];
        } 
    }
</script>

<body>
    
<form id="form1" runat="server">
    
<div>
        
<asp:Image ID="imgFace" runat="server" ImageUrl="~/images/face/8.gif" />        
        
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="javascript:InsertImageFromGallery()">选择头像</asp:HyperLink>
        
<br />
        
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
        
<br />
        
<asp:Label ID="Label1" runat="server"></asp:Label>&nbsp;<br />
        
<br />
        
<asp:HiddenField ID="hideImgFace" runat="server" />
    
    
</div>
    
</form>
</body>
</html>


6、Default.aspx.cs代码如下,测试获得的图片路径,以方便在不同场合用,注意hideImgFace.Value.Replace("/TestImgSelect","..");中TestImgSelect是自己的网站名称

using System;
using
 System.Data;
using
 System.Configuration;
using
 System.Web;
using
 System.Web.Security;
using
 System.Web.UI;
using
 System.Web.UI.WebControls;
using
 System.Web.UI.WebControls.WebParts;
using
 System.Web.UI.HtmlControls;

public partial class
 user_Default : System.Web.UI.Page 
{
    
protected void Page_Load(object
 sender, EventArgs e)
    {

    }
    
protected void Button1_Click(object
 sender, EventArgs e)
    {
        Label1.Text 
= "图片路径:"+hideImgFace.Value+"<br>相对路径:"+hideImgFace.Value.Replace("/TestImgSelect",".."
);
    }
}

7:运行效果如下,点选择头像,会弹出一个选择图片的窗口,双击图片则头像自动更改

ASP.NET MVC中集成fancyBox实现优雅图片画廊展示 <img src="/images/thumb-1.jpg" alt="海岸线"> 阅读详情

相关推荐

asp.net 选择客户端图片同时预览

asp.net 选择客户端图片同时预览 javascript

从jsp或者aspx这种动态页面获取图片并保存到本地

有些登录页面中的验证码图片是从这样的动态页面url: http://cer.nju.edu.cn/amserver/verify/image.jsp http://gs.cqupt.edu.cn:8080/Public/ValidateCode.aspx 中获取的。这时不能这样:def save_img_from_url(imageUrl, filename): u = urllib

公众号shadow sock7 3065

asp.net 选择多张图片批量上传

使用visual studio2017打开,可以选择多张图片进行上传,在选择提交前,可以将选择的图片在页面上展现出来,现在能够将其进行统一保存到指定的路径,如果想将其添加到数据库,自己将其保存下来的路径添加到数据库即可

ASP.NET之图像控件

在ASP.NET中,用于显示图像的控件主要是Image控件,Image控件属于ASP.NET Web Forms的一部分,它允许你在Web页面上显示图像。以下是如何在ASP.NET Web Forms中使用。

2301_77523055的博客 2311

手把手教你用开源EtherCAT协议栈SOEM开发从站设备(附避坑指南)

本文详细介绍了如何使用开源EtherCAT从站协议栈SOES进行嵌入式设备开发。内容涵盖从环境搭建、硬件准备到核心的对象字典与PDO映射配置,并重点分享了主循环集成、状态机处理以及实战调试中的常见问题与避坑指南,旨在帮助开发者高效实现设备接入工业现场总线网络。

linux的博客 630

从原理到实践:MIPI D-PHY v1.2的HS-Deskew功能全解析(附时序图详解)

本文深入解析MIPI D-PHY v1.2的HS-Deskew功能,从技术背景到实现机制,详细介绍了其在2.5Gbps高速传输中的关键作用。通过时序图详解和实测数据,帮助工程师理解并应用这一技术,解决信号完整性问题,提升系统可靠性。

weixin_30300225的博客 308

ASP.NET 上传图片至数据库并读取图片显示

今天,和大家讨论一下在ASP.NET中,如何上传图片至数据库,然后再将图片读取显示的问题。欢迎高手提出自己的方法!!! 目前,我主要用到以下两种方法: 1:上传图片的相对路径到数据库中相应字段里,读取显示时,将控件(假设用的是Image控件)的ImageUrl属性指向该相对路径即可。 2:将图片以二进制流的方式整体上传到数据库里,读取显示时,以二进制流的方式整体读出。这种方法稍微麻烦一点,但...

weixin_30698527的博客 726

Windows安装WSL子系统及docker,以及WSL和docker配置、使用及问题解决

在Windows操作系统中,Ubuntu子系统(也称为Windows Subsystem for Linux, WSL)为开发者提供了一个在Windows环境下运行Linux环境的平台。然而,有时用户在按照Ubuntu子系统或者使用WSL时,可能会遇到各种问题,下面总结一下解决方式。想要在Windows上安装Docker(实际上是基于Hyper-V或者WSL2这两项虚拟化技术),需要开启虚拟化功能,所以不管是对于系统还是硬件都有一定的要求。

sym的博客 9786

ASP.NET实现从数据库中读取图片的方法

在ASP.NET中,我们可以用下面的方法实现从数据库中读取图片并显示在页面上,方法如下:      SqlConnection conn=new SqlConnection(ConfigurationSettings.AppSettings["ConnStr"]);      String sql="SELECT  image FROM append where id=" + strID

IT漫步者 3829

机器人的“大脑”进化论:从专用控制器到高性能SoC的异构计算时代

摘要:随着AI与机器人技术融合,高性能芯片成为机器人智能化的关键。本文分析了机器人对芯片的核心需求,包括多模态数据处理、实时控制和智能决策能力。系统级芯片(SoC)因集成CPU、GPU/NPU等模块而成为主流选择。市场呈现分层格局:中低端设备(如扫地机器人)采用"MCU+轻量SoC"方案,满足基础功能;高端机器人则依赖"高性能SoC+独立GPU"处理复杂任务。除主控芯片外,完整的机器人系统还需传感器接口、驱动、通信等配套芯片。未来,芯片技术的进步将持续推动机器人智能化

致力于lidar应用开发 83

YOLOv11改进策略【Neck】| ASF-YOLO 注意力尺度序列融合模块改进颈部网络,提高小目标检测精度

ASF-YOLO是一种基于YOLO的新颖框架,结合了空间和尺度特征以实现准确和快速的分割。其中,注意力尺度序列融合模块。

Limiiiing的博客 4391

asp.net 得到图片

<br /><br />public string getImgUrls(string HTMLStr)<br />    {<br />        string str = "";<br />        Regex reg = new Regex(@"<img/s+[^>]*/s*src/s*=/s*([']?)(?<url>/S+)'?[^>]*>", RegexOptions.IgnoreCase);<br />        MatchCollection mc = reg.Matches(

程序与人生 512

Cesium中级开发教程之五十二:气泡弹窗

支持多种交互方式触发气泡弹窗显示,如鼠标悬停、点击地图上的特定元素(像实体、标注、模型等)。例如,当用户鼠标悬停在一个表示城市的点上时,弹出显示该城市名称、人口等信息的气泡。:依据特定的数据条件或业务逻辑触发。比如,当某个区域的气象数据达到一定阈值时,自动弹出显示相关气象预警信息的气泡。

664

ASP.NET2.0控件一览---标准控件(1)

前言:相比ASP.NET1.X,ASP.NET2.0带来很多的改变,本系列将从控件的方面来看看2.0的控件方面的各种新增和改进.本系列文章假设读者已经对1.x的控件比较的熟悉,因为2.0和1.x很多相同的地方将不会涉及,着重谈谈不一样的地方,方便大家对ASP.NET2.0的控件有进一步的了解和更快的掌握.(PS:本系列算是自己的学习心得,很多地方不足,望大家指正.)好了,废话少说,让我们开始进

挑战自我 1836

TensorFlow2深度学习实战(十四):目标检测算法 YOLOv4 解析

最易上手的【计算机视觉】小白教程!

不积跬步,无以至千里! 7636

微信小程序 - 详细实现可移动悬浮按钮,全屏悬浮元素图标可拖动拖拽并自动吸附边缘,微信小程序实现悬浮球吸附边缘+计算靠边靠拢效果(详细代码,拖拽中途放手,靠左就自动跑到屏幕左侧,反之靠右跑到屏幕右侧)

微信小程序,vue2,vue3,微信小程序悬浮功能小按钮,自动吸附边缘效果,微信小程序之可拖动悬浮按钮的实现,如何实现靠近边缘自动吸住功能,小程序右下角的悬浮效果,实现可拖动悬浮图标,自动向两边靠拢,悬浮按钮的实现,微信小程序悬浮球效果,微信小程序(可拖动悬浮按钮)当靠近屏幕边缘时会磁吸靠近,如何实现全局悬浮按钮,悬浮球判断吸附在左右,全屏悬浮能拖着走,小程序怎么做悬浮图标靠近左右两侧能吸附住,悬浮菜单按钮,悬浮球可拖拽,全局悬浮球,全局悬浮框,实现悬浮按钮可拖动,自动吸附边缘效果,若按钮此时位于页面中间偏

🏆 前端领域优质创作者 1万+

NetAdvantage2006 For ASP.NET2.0印象

NetAdvantage2006 For ASP.NET2.0印象 NetAdvantage2006 For ASP.NET2.0给我的第一印象是速度慢,功能复杂,网格和树控件功能强大。综合来说,要看项目所需,如确实需要使用其某个基本特征(如treeview),可用。如用之来统一网站风格,不推荐;推荐使用的是web2.0的模式div+css实现...

weixin_30478619的博客 179

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

6月份Asp.net源码推荐

整理了一下51aspx上6月份的Asp.net源码,特推荐一些给大家免费下载- 阿江酷站统计系统ASP.Net修正版 Hits:262 2007-6-29阿江酷站单用户访问统计系统ASP.Net修正版 通过在要统计的页面潜入js脚本就可以对访问进行详细统计,可以按小时、日、月、年进行柱状图进行显示分析。具有来路统计、被访页面、IP统计、客户端软件、访问者地区..- 可以进行拖动

Asp.net源码下载中心 3072

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

ASP.NET2.0控件一览

相比ASP.NET1.X,ASP.NET2.0带来很多的改变,本系列将从控件的方面来看看2.0的控件方面的各种新增和改进.本系列文章假设读者已经对1.x的控件比较的熟悉,因为2.0和1.x很多相同的地方将不会涉及,着重谈谈不一样的地方,方便大家对ASP.NET2.0的控件有进一步的了解和更快的掌握.(PS:本系列算是自己的学习心得,很多地方不足,望大家指正.)好了,废话少说,让我们开始进入ASP.

littlelu的专栏 1026

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

asp.net开源CMS推荐

随着网络技术的发展,目前国内CMS的开发商越来越多,各自都有其独特的优势,大家在选择的时候觉得眼花缭乱,不知道选择哪个比较好,我个人认为开源的CMS还是适合我们学习及研究使用,下边就几个国内的asp.net开源CMS进行简单介绍。 1.We7 CMS We7 CMS是由西部动力开发的一款充分发掘互联网Web2.0(如博客、RSS等)的信息组织优势,将其理念利用到政府企事业网站的...

优快云1332531529的博客 181

本周ASP.NET英文技术文章推荐[02/04 - 02/10]

摘要 本期内容较少,共有5篇文章: UpdateControls:UpdateHistory和AnimatedUpdatePanel 我的《Visual Studio Orcas第一眼印象》演讲稿 Cookie的压缩 为Windows平台优化过的PHP 5.2.1终于发布了 微软公司的数字化冰屋! [1] UpdateControls: UpdateHistory and A...

weixin_30548917的博客 116
上一篇: 用Eclipse3.1 + Myeclipse4.0 + Tomcat5.0 + j2sdk1.5 搭建J2EE开发环境
下一篇: 优快云博客中插入代码存在一个BUG,望大家注意下
aspnet2002web
博客等级 码龄21年 482粉丝 310原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值