Extjs 如何实现上传及下载功能。

Extjs 如何实现上传及下载功能。,第1张

其实,EXTJS4.0中有自带的上传控件 ,你引用一下就行了

关键在於,你上传的文件是保存在数据库中,还是保存在服务器的硬盤上

保存在数据库中要化成二进制流,但缺点是文件大的时候,数据库很麻烦,并且写进数据库要转换,读出来也要转化

如果保存在服务器上,只在数据库中保存路径,然後就可以根据路径来下载,

删除的时候,也同样根据路径要删除服务器上的文件和数据库中的文件信息

祝你好运,如何你不明白的话,我可以给你源码看一下,之前我做的上传,下载和删除功能。

可以这样,button里写 window.open('xxx.php?fileName=aaaa'),然后这个php文件里根据这个fileName找到对应文件,然后在这个页面以文件流的形式输出到浏览器端,这样会生成保存文件对话框

我是搞C#的,C#的文件流输出到浏览器代码如下

stream = File.Open(filePathName, FileMode.Open, FileAccess.Read)

                    byte[] data = new byte[stream.Length]

                    int result = stream.Read(data, 0, data.Length)

                    if (!File.Exists(filePathName))

                        return

                    HttpContext.Current.Response.Buffer = true

                    HttpContext.Current.Response.Charset = Encoding.UTF8.ToString()

                    HttpContext.Current.Response.AddHeader("Content-Disposition", "inlinefilename=" + Server.UrlEncode(fileName))

                    HttpContext.Current.Response.AddHeader("Content-Length", data.Length.ToString())

                    HttpContext.Current.Response.ContentType = "application/ms-excel"

                    stream.Close()

                    File.Delete(filePathName)

                    Response.BinaryWrite(data)

                    HttpContext.Current.ApplicationInstance.CompleteRequest()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11787331.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存