关键在於,你上传的文件是保存在数据库中,还是保存在服务器的硬盤上
保存在数据库中要化成二进制流,但缺点是文件大的时候,数据库很麻烦,并且写进数据库要转换,读出来也要转化
如果保存在服务器上,只在数据库中保存路径,然後就可以根据路径来下载,
删除的时候,也同样根据路径要删除服务器上的文件和数据库中的文件信息
祝你好运,如何你不明白的话,我可以给你源码看一下,之前我做的上传,下载和删除功能。
可以这样,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()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)