以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  压缩功能无效,上传照片还是原始大小  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=170864)

--  作者:sunion
--  发布时间:2021/8/10 7:50:00
--  压缩功能无效,上传照片还是原始大小
  运行代码,照片会正常上传到ProjectPath & "Attachments\\"中,但是压缩功能无效,照片还是原始大小,是哪里的问题?

 Case "diaryadd.htm"
        If e.PostValues.Count = 0 Then
            wb.AddForm("","form1","diaryadd.htm")
            With wb.AddInputGroup("form1","ipg1","新闻")
                .AddInput("标题","标题","Text")
                With .AddUploader("up1","文章照片",True) 
                    .Accept = "image/*" 
                    .ScaleWidth = 400 \'自动压缩图片宽度为400个像素,高度等比例压缩
                End With
            End With
            With wb.AddButtonGroup("form1","btg1",True)
                .Add("btn1", "确定发布", "submit")
                \'  .Add("btn2", "返回栏目", "", "mmindex.htm") \'单击这个按钮可以打开foxtable主页
            End With
            e.WriteString(wb.Build)
            wb.AddToast("","tst1", "正在上传",1)
            wb.AddToast("","tst2", "上传成功",0)
            wb.AddToast("","tst3", "上传失败",0).Icon= "warn"
            wb.AppendHTML("<script src=\'./lib/ajaxform.js\'></script>") \'引入脚本文件
            e.WriteString(wb.Build) \'生成网页
            e.WriteString("OK")
            
            
        Else
            Dim nms() As String = {"新闻标题","新闻内容"}
            Dim drr As DataRow = DataTables("新闻通知").AddNew()
            For Each nm As String In nms
                drr(nm) = e.PostValues(nm)
                drr("发布时间") = Date.Now
            Next
            For Each key As String In e.Files.Keys
                If key = "up1" Then
                    Dim lst As List(of String) = drr.Lines("文章照片")
                    For Each fln As String In e.Files(key)
                        Dim n As String = Format(Date.Now,"yyyyMMddHHmmssffff") & fln
                        e.SaveFile(key, fln, ProjectPath & "Attachments\\" & n)
                        lst.Add(n)
                    Next
                    drr.Lines("文章照片") = lst
                End If
            Next      
            drr.save()
            With wb.AddMsgPage("","msgpage","增加成功", "好好学习,天天向上") 
                .AddButton("btn1","继续增加","diaryadd.htm")
                \'     .AddButton("btn2","返回栏目","mmindex.htm")
            End With
            e.WriteString(wb.Build)
        End If
             
    Case "receive.htm"
        For Each key As String In e.Files.Keys
            For Each fln As String In e.Files(key)
                e.SaveFile(key,fln,"c:\\web\\uploadfiles\\" & fln) \'保存接收到的文件
            Next
        Next
        e.WriteString("OK")


ajaxform.js代码,已经在lib文件里面

function submitForm(){
    show("tst1",2000);
    var result = submitAjaxForm(\'form1\',\'afterSubmit\');
}

function afterSubmit(result){
    hide("tst1");
    if (result==\'OK\') {
        show("tst2");
        location="upload.htm";
    }
    else{
        show("tst3",2000);
    }
}


--  作者:有点蓝
--  发布时间:2021/8/10 8:36:00
--  
发了N次帮助了,都没有认真看:http://www.foxtable.com/mobilehelp/topics/0251.htm

要实现图片的压缩上传,单单设置ScaleWidth或ScaleHeight是不够的,我们还需要将Uploader的Incremental属性设置为True,所以和上一节一样,我们只能用submitAjaxForm函数提交表单,不过代码依旧很简单。

--  作者:sunion0769
--  发布时间:2021/8/10 9:35:00
--  
看明白了,谢谢您不厌其烦的回答
我发现FOX很有意思,虽然我是个小白,不是专业出身,但我很感兴趣,而且您的帮助让成长很快,感激不尽~!