HTML文件上传

html-css013

HTML文件上传,第1张

使用 input ,指定类型为 file ,来完成文件上传功能。

多文件上传需要在标签上添加 mulyiple 属性:

使用 accept 属性来限制上传文件的类型,当然这么做任然是不可靠的,还需要后端做进一步的判断。

如果我们是用户,当我们上传了一张图片,却只显示了几个文字,是不是很不爽,那我们怎么来实现预览功能呢?

我们可以使用 FileReader 将图像转换为二进制字符串,然后添加 load 事件监听,在文件上传成功后获取二进制字符串。

显示文件上册进度 来提高用户体验

FileReader 还有一个 progress 事件,表示当前上传进度,配合HTML5的 progress 标签,我们来模拟一下文件的上传进度。

<HTML>

    <HEAD>

        <TITLE>上传文件</TITLE>

        <SCRIPT language=javascript type=text/javascript>

        <!--

            var RES_BT_DELETE = "删除"

            var isIE = (navigator.userAgent.indexOf("MSIE") != -1)

            var fileIndex = 0

            

            function addFile() 

            {

                var spanId = "filespan"

                var fileId = "uploadfile" + (fileIndex++)

                addInputFile(spanId, fileId)

            }

            

            function addInputFile(spanId, fileId) 

            {

                var span = document.getElementById(spanId)

                if (span != null) 

                {

                    var divObj = document.createElement("div"), fileObj, delObj

                    divObj.id = fileId

                    

                    if (isIE) 

                    {

                        fileObj = document.createElement("<input type=file onchange=changeFile(form)>")

                        delObj = document.createElement("<input type=button onclick=delInputFile('" + spanId + "','" + fileId + "')>")

                    } 

                    else 

                    {

                        fileObj = document.createElement("input")

                        fileObj.type = "file"

                        fileObj.setAttribute("onchange", "changeFile(form)", 0)

                        delObj = document.createElement("input")

                        delObj.type = "button"

                        delObj.setAttribute("onclick", "delInputFile('" + spanId + "','" + fileId + "')", 0)

                    }

            

                    fileObj.name = fileId

                    fileObj.size = "40"

                    fileObj.className = "input"

                    delObj.value = RES_BT_DELETE

                    divObj.appendChild(fileObj)

                    divObj.appendChild(document.createTextNode(" "))

                    divObj.appendChild(delObj)

                    span.appendChild(divObj)

                }

            }

            

            function delInputFile(spanId, fileId) 

            {

                var span = document.getElementById(spanId)

                var divObj = document.getElementById(fileId)

                if (span != null && divObj != null) 

                {

                    span.removeChild(divObj)

                }

            }

        //-->

        </SCRIPT>

        <META content="MSHTML 6.00.2800.1528" name=GENERATOR>

    </HEAD>

    

    <BODY class=pagebackground>

        <FORM id=form action=XXX method=post encType=multipart/form-data>

            <TABLE class=dialog1 height=20 cellSpacing=1 cellPadding=8 width="90%" align=center>

                <TBODY>

                <TR>

                    <TD noWrap>通过文件上传: </TD>

                    <TD id=filespan noWrap>

                        <INPUT class=input type=file size=40 name=file>

                        <INPUT id=btnAdd onclick=addFile() type=button value=添加>

                    </TD>

                </TR>

                </TBODY>

            </TABLE>

        </FORM>

    </BODY>

</HTML>

要看你的网站是自己电脑作服务器还是租用空间的形式,如是自己电脑,则把文件放到网站目录下就行了,想必你是租用空间的,

这就要看那个空间提供商,允许你采用什么方式传,大部分的都支持ftp,web管理页传,

ftp传的话,下个ftp软件,输入服务器ip,你的帐号,密码(都由空间提供商给你),软件就能打开一个远程目录,把文件拖到该目录就行,

web管理页传的话,用你的帐号,密码登录空间提供商的管理系统(一个网页),之后就跟发邮件附件类似,把文件传到相应目录下就行。

【html】

超文本标记语言,标准通用标记语言下的一个应用。

“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。

超文本标记语言的结构包括“头”部分(英语:Head)、和“主体”部分(英语:Body),其中“头”部提供关于网页的信息,“主体”部分提供网页的具体内容。