十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Dim OpenFileDialog As New OpenFileDialog
目前创新互联已为1000多家的企业提供了网站建设、域名、虚拟空间、网站托管、服务器托管、企业网站设计、濠江网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
OpenFileDialog.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.MyDocuments
OpenFileDialog.Filter = "文本文件(*.jpg)|*.jpg|所有文件(*.*)|*.*"
If (OpenFileDialog.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK) Then
Dim FileName As String = OpenFileDialog.FileName
' TODO: 在此处添加打开文件的代码。
textbox1.Text = FileName
End If
第一个按钮 上传
Dim filelast As String = fileaddbefore.Text.Substring(fileaddbefore.Text.LastIndexOf("."), fileaddbefore.Text.Length - fileaddbefore.Text.LastIndexOf("."))
MessageBox.Show(filelast)
My.Computer.Network.UploadFile(textbox1.Text, "" 文件名.Text filelast, "登录名1", "登录密码", True, 100)
第二个按钮
e As Int32 = 0 To Files.Count - 1
Dim PostedFile As HttpPostedFile = Files(iFile)
Dim FileName, FileExtent As String
FileName = Serverpath System.IO.Path.GetFileName(PostedFile.FileName)
If System.IO.Path.GetFileName(PostedFile.FileName) "" Then
FileName = System.IO.Path.GetFileName(PostedFile.FileName)
Dim Url As String = Me.Label1.Text.Trim FileName
PostedFile.SaveAs(Serve
路径转成byte数组,加在文件byte数组的前头,用一个或两个byte表示文件路径byte数组的大小,加在路径+文件合并后的byte数组最前面。
顺序:路径占用字节+路径字节数组+文件字节数组
收到数据后,先提取前两个字节表示的长度,再通过长度提取路径,剩下的是文件。
一个参考过程,你试试 这里写下一个过程为: insert into pub_infor values('1234',0x,'this is a sample') 然后读入图片: sp_textcopy @srvname = '.', @login = 'sa', @password = 'sa', @dbname = 'pubs', @tbname = 'pub_info', @colname = 'logo', @filename = 'c:\picture.bmp', @whereclause = " WHERE pub_id='1234' ", @direction = 'I' 读出为: sp_textcopy @srvname = '.', @login = 'sa', @password = 'sa', @dbname = 'pubs', @tbname = 'pub_info', @colname = 'logo', @filename = 'D:\picture.bmp', @whereclause = " WHERE pub_id='1234' ", @direction = 'O' 清空:update 表 set 列=null 最后注意事项:因为filename的字符长度只有30个:即: @filename varchar (30), 所以实际应用的时候最好改为255个,当含有比较长的路径的时候就会报错: ERROR: Augment 'xxx' unrecognize 还有参数的长度@exec_str varchar (255)也修改下比较好: 我改成了这样子: CREATE PROCEDURE sp_textcopy ( @srvname varchar (30), @login varchar (30), @password varchar (30), @dbname varchar (30), @tbname varchar (30), @colname varchar (30), @filename varchar (255), @whereclause varchar (40), @direction char(1)) AS DECLARE @exec_str varchar (400) SELECT @exec_str = 'textcopy /S ' + @srvname + ' /U ' + @login + ' /P ' + @password + ' /D ' + @dbname + ' /T ' + @tbname + ' /C ' + @colname + ' /W "' + @whereclause + '" /F ' + @filename + ' /' + @direction EXEC master..xp_cmdshell @exec_str 就只这样子了,感觉上T_SQL编程还是挺强大的,有时间应该好好学习下。 回答: 这里以SQL_server2000中的pubs数据库中的pub_info表为例来说说其中的过程:pub_info表包含:pub_id,logo,pr_info,其中logo属于image超长字段,应用存储过程奖图像存储在数据库的步骤包括: 1:首先:是插入一个列: 比如:insert into pub_infor values('1234',0x,'this is a sample')其中0x只是为了确保image字段不能为空:因为下面的存储过程:textcopy 用textcopy把图片或者文件拷贝到image类型字段之前,image类型的字段不能为空。先插入0x(或者0x0)到这个字段,然后就可以用textcopy了。 否则就会报这样的错误: ERROR: Text or image pointer and timestamp retrieval failed. 2:接下来建立存储过程: CREATE PROCEDURE sp_textcopy ( @srvname varchar (30), @login varchar (30), @password varchar (30), @dbname varchar (30), @tbname varchar (30), @colname varchar (30), @filename varchar (30), @whereclause varchar (40), @direction char(1)) AS DECLARE @exec_str varchar (255) SELECT @exec_str = 'textcopy /S ' + @srvname + ' /U ' + @login + ' /P ' + @password + ' /D ' + @dbname + ' /T ' + @tbname + ' /C ' + @colname + ' /W "' + @whereclause + '" /F ' + @filename + ' /' + @direction EXEC master..xp_cmdshell @exec_str 说明: 其中xp_cmdshell: 以操作系统命令行解释器的方式执行给定的命令字符串,并以文本行方式返回任何输出。授予非管理用户执行 xp_cmdshell 的权限。我自己的理解是: textcopy就像是一个dos命令:就是说实际的文件copy命令是类似操作系统执行的。
采纳哦