vb WebSite 上传图片,图片保存到制定文件夹,数据库只保存图片路径和名称;因为我的图片是用 JavaScript 显示出来的,所以我的页面不能用模版,页面代码如下
<script>function setimagePrevIEw() { var docObj = document.getElementByID("doc"); var imgObjPrevIEw = document.getElementByID("prevIEw"); if (docObj.files && docObj.files[0]) { //火狐下,直接设img属性 imgObjPrevIEw.style.display = 'block'; imgObjPrevIEw.style.wIDth = '300px'; imgObjPrevIEw.style.height = '120px'; //imgObjPrevIEw.src = docObj.files[0].getAsDataURL(); //火狐7以上版本不能用上面的getAsDataURL()方式获取,需要一下方式 imgObjPrevIEw.src = window.URL.createObjectURL(docObj.files[0]); } else { //IE下,使用滤镜 docObj.select(); var imgSrc = document.selection.createrange().text; var localimagID = document.getElementByID("localimag"); //必须设置初始大小 localimagID.style.wIDth = "300px"; localimagID.style.height = "120px"; //图片异常的捕捉,防止用户修改后缀来伪造图片 try { localimagID.style.filter = "progID:DXImagetransform.Microsoft.AlphaImageLoader(sizingMethod=scale)"; localimagID.filters.item("DXImagetransform.Microsoft.AlphaImageLoader").src = imgSrc; } catch (e) { alert("您上传的图片格式不正确,请重新选择!"); return false; } imgObjPrevIEw.style.display = 'none'; document.selection.empty(); } return true; } </script>
<table border="0"> <tr> <td colspan="2"> <div ID="localimag" > <img alt="" ID="prevIEw" runat="server" src=""/> </div> </td> </tr> <tr> <td colspan="2"> <asp:Label ID ="lblMessage" runat="server" Text="" Forecolor="Red" Font-Bold ="true" /> </td> </tr> <tr> <td> <input type="file" name="doc" ID="doc" runat="server" onchange="JavaScript:setimagePrevIEw();" /> </td> <td> <asp:button ID="bt_image_save" Text="保存图片" runat="server" WIDth="60" /> </td> </tr> </table>
后台代码为:
总结Private Sub bt_image_save_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles bt_image_save.Click Dim img As String Dim postedfile As httpPostedfile = doc.Postedfile Dim intimgSize As Int32 intimgSize = postedfile.ContentLength If intimgSize <> 0 Then If intimgSize > 800 Then lblMessage.Text = "图片太大" Else Dim strimgType As String = postedfile.ContentType Dim filesplit() As String = Split(strimgType,"/") strimgType = filesplit(filesplit.Length - 1) If strimgType <> "gif" And strimgType <> "jpg" And strimgType <> "pjpeg" And strimgType <> "jpeg" And strimgType <> "bmp" And strimgType <> "png" Then lblMessage.Text = "图片格式不对" Else lblMessage.Text = "" filesplit = Split(postedfile.filename,"\") Dim filename As String = filesplit(filesplit.Length - 1) postedfile.SaveAs(Server.MapPath("headimg") & "\" & filename) Dim imgpath As String = "headimg\" & filename img = imgpath Dim conn As sqlClIEnt.sqlConnection = DBHelp.GetNewConnection conn.open() Dim cmd As New sqlClIEnt.sqlCommand("update pmc_emp set emp_image =@img where emp_no=@emp_no",conn) cmd.Parameters.Add("@img",sqlDbType.VarChar).Value = img cmd.Parameters.Add("@emp_no",sqlDbType.NVarChar).Value = txtEmpNo.Text.Trim Try cmd.ExecuteNonquery() Setimage() Catch ex As Exception PageHelp.ShowErrorMsg(Page) Finally conn.Close() End Try End If End If End If End Sub
以上是内存溢出为你收集整理的vb WebSite 上传图片,图片保存到制定文件夹,数据库只保存图片路径和名称全部内容,希望文章能够帮你解决vb WebSite 上传图片,图片保存到制定文件夹,数据库只保存图片路径和名称所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)