以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何显示上传后的照片  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=101549)

--  作者:fubblyc
--  发布时间:2017/6/2 14:50:00
--  如何显示上传后的照片
Dim wb As New  weui
\'订单编辑
Dim pr As DataRow  \'订单
Dim Page As Integer  \'页码变量

If e.GetValues.ContainsKey("page") Then   \'如果地址中有page参数
    Integer.TryParse(e.GetValues("page"), page)  \'提取page参数
End If
If e.GetValues.ContainsKey("oid") = False Then \'如果没有传递订单编号,则新增与一个订单
    pr =  DataTables("明细").SQLAddNew() \'
    pr("订单编号") = Functions.Execute("GetOrderIDxdbg")
Else \'如果传递了订单编号,则找出此订单进行编辑
    pr = DataTables("明细").SQLFind("订单编号=\'" & e.GetValues("oid") & "\'")
    If  pr Is  Nothing Then \'多用户情况下,必须考虑其他用户删除订单的可能.
        wb.InSertHtml("系统没看到该记录,请联系")
        e.WriteString(wb.Build)
        Return  ""  \'必须返回
    End  If
End  If

If e.GetValues.ContainsKey("oid")  Then  \'如果是旧订单,则汇总显示数量和金额
    With wb.AddInputGroup("form1","ipg8","问题点")
        .AddTextArea("问题点",3).value = pr("问题点")
       With .AddUploader("up1","照片",True)   这里是想显示之前提交的图片
               .AllowDelete = True 
       End With
    End With
Else
    With wb.AddInputGroup("form1","ipg3","问题点")
        .AddTextArea("问题点",3) 
       With .AddUploader("up1","照片",True) 
               .AllowDelete = True \'
       End With
    End With
End If
pr.Save() \'


save 自定义函数代码:
Dim e As RequestEventArgs = args(0)
\'保存订单
Dim dr As DataRow =  DataTables("明细").SQLFind("订单编号=\'" & e.PostValues("订单编号") & "\'")
Dim nms() As String =  {""} 
If dr IsNot Nothing Then
    For Each nm As String In nms
        If e.PostValues.ContainsKey(nm) Then
            dr(nm)= e.PostValues(nm)
        End  If
    Next
End If
For Each key As String In e.Files.Keys
    If key = "up1" Then
        For Each fln As String In e.Files(key)
            e.SaveFile(key, fln, "D:\\wwwroot\\mobo\\照片\\" & fln)
        Next
        dr.Lines("图片") = e.Files(key)
    End If
Next
dr.Save()
[此贴子已经被作者于2017/6/2 14:50:49编辑过]

--  作者:fubblyc
--  发布时间:2017/6/2 15:35:00
--  
给自己顶下。。。
--  作者:有点色
--  发布时间:2017/6/2 15:57:00
--  

 你的操作步骤是怎样的?点击上传提交图片,跳转到一个网页,在这个网页保存图片,同时生产一个新的网页,不行?


--  作者:fubblyc
--  发布时间:2017/6/2 16:32:00
--  
恩恩,这样问:
我提交后,保存了图片,并且也在后台表里也有了这个图片的路径。

现在想在另一个页面显示这个表某一行的图片。

就是怎么在一个网页显示一个表里图片列写的图片路径   的图片。

比如:
 .AddTextArea("问题点",3).value = pr("问题点")

那显示图片要怎么写呢:
.addXXX("图片").value = pr("图片")

--  作者:fubblyc
--  发布时间:2017/6/2 16:45:00
--  
哦,是不是就是这样:
Dim fl As String = "d:\\web\\" & e.path
If
 filesys.FileExists(fl) \'如果是请求一个已经存在的文件
    Dim idx As Integer = fl.LastIndexOf(".")
    Dim ext As String  = fl.SubString(idx)
    Select Case ext
        Case ".jpg",".gif",".png",".bmp",".wmf" 
\'
只允许请求图片文件
            e.WriteFile(fl)
    End 
Select

Else

    Dim sb As New StringBuilder
    sb.Appendline(
"
我想显示一个图片<br/><br/>")
    sb.AppendLine("<img src=\'abc.jpg\'>")
    
e.WriteString(sb.ToString())
End
 If

已经和uploader 没有关系了?

--  作者:fubblyc
--  发布时间:2017/6/2 16:48:00
--  
哦,
.AddImage("./images/001s.jpg","./images/001.jpg")

是可以显示已经上传过的图片。

--  作者:有点色
--  发布时间:2017/6/2 17:07:00
--  

 呃,已经上传的图片,直接写图片的路径,就能显示了的。


--  作者:fubblyc
--  发布时间:2017/6/2 17:07:00
--  
提交后,保存了图片,并且也在后台表里也有了这个图片的路径。


        With .AddUploader("up1","整改前照片",True) \'True表示允许上传多个文件
            .AddImage("./照片/1.jpg")   那现在问题是,不知道用户提交了几个照片,要怎么才能显示多文件呢?
            .AddImage("./照片/X.jpg")   那现在问题是,不知道用户提交了几个照片,要怎么才能显示多文件呢?
            .AddImage("./照片/Y.jpg")   那现在问题是,不知道用户提交了几个照片,要怎么才能显示多文件呢?
...
...
...
...
            .AllowDelete = True \'允许用户删除图片
        End With

或者说,后台可以判断各个用户提交了几张图片,要怎么写动态的代码动态增加.AddImage的数量呢。。。现在是写死的,固定添加几张
[此贴子已经被作者于2017/6/2 17:10:35编辑过]

--  作者:fubblyc
--  发布时间:2017/6/2 17:54:00
--  
顶一下。。。
--  作者:有点色
--  发布时间:2017/6/2 18:06:00
--  

提交之后跳转到你的代码处理,那里不是可以得到所有的图片的?

 

得到所有图片,保存了,同时把信息存放在表里面不可以?

 

根据表数据生成图片的时候,不是可以写成循环?