1. 求C# MVC4 做的上传附件下载附件的功能 附件路径存在数据库中 附件存在项目下的uploading文件中 求源码
建议使用uploadfy插件,但有一点,配置文件里得改,不然不能上传大文件下载在Controller里返回FileStreamResult就行了 return File(new FileStream(fullPath, FileMode.Open), "application/octet-stream", Server.UrlEncode(Path.GetFileName(fullPath)));
2. 关于springMVC中静态文件路径问题
<!– 对静态资源文件的访问,方案一 将无法mapping到Controller的path交给default servlet handler处理<mvc:default-servlet-handler/> –><!– 对静态资回源文件的访问 方案二答 –><mvc:resources mapping="/images/**" location="/WEB-INF/views/front/images/" /><mvc:resources mapping="/css/**" location="/WEB-INF/views/front/css/" /><mvc:resources mapping="/js/**" location="/js/" /><mvc:resources mapping="/upload/**" location="/upload/" /><mvc:resources mapping="/frame/**" location="/frame/" /><mvc:resources mapping="/slidebox/**" location="/WEB-INF/views/front/slidebox/" />
3. 用JSP(MVC模式)实现文件的打包下载功能
你的意思是将多个文件同时加载,我现在自己做了一个多文件同时上传的,但是下载的时候还是一个一个的下载!!也使用MVC模式开发的!!! 给你看一下,多文件上传和下载的代码,我自己写的,打包下载我还没有实现,如果你有什么好的想法,告诉我一下哦!!吼吼~~多文件上传代码:NetdishForm ndf = (NetdishForm) form;List fileNameList=new ArrayList();//得到上传文件的文件名,并且将所有的文件名称保存在LIST数组中 fileNameList.add(ndf.getUpfile().getFileName()); fileNameList.add(ndf.getUpfile2().getFileName()); fileNameList.add(ndf.getUpfile3().getFileName()); fileNameList.add(ndf.getUpfile4().getFileName()); fileNameList.add(ndf.getUpfile5().getFileName());for(int i=0;i<fileNameList.size();i++) { selectedFileName=String.valueOf(fileNameList.get(i));//根据循环次数,依次获取文件名 try { upLoadNetDishPath=photodir.getCanonicalPath()+"\\"+selectedFileName; System.out.println("最终路径为:"+upLoadNetDishPath); OutputStream ops=new FileOutputStream(upLoadNetDishPath); if(i==0) { byte b[]=ndf.getUpfile().getFileData(); ops.write(b); ops.close(); } if(i==2) { byte b[]=ndf.getUpfile2().getFileData(); ops.write(b); ops.close(); } if(i==3) { byte b[]=ndf.getUpfile3().getFileData(); ops.write(b); ops.close(); } if(i==4) { byte b[]=ndf.getUpfile4().getFileData(); ops.write(b); ops.close(); } if(i==5) { byte b[]=ndf.getUpfile5().getFileData(); ops.write(b); ops.close(); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }这是上传的核心代码,至于路径的自动创建我没有弄上来!!下载的代码://以下为下载的主要方法 File file=new File(nd.getDownpath()); if(file.exists()) { System.out.println("该下载路径或者文件已存在"); try{ //输出文件用的字节数组,每次发送500个字节到输出流: byte b[]=new byte[500]; //客户使用保存文件的对话框: response.setHeader("Content-disposition","attachment;filename="+nd.getFilename()); //设置文件下载时的名称。如果只在线观看,将attachment改成inline //通知客户文件的MIME类型: response.setContentType("text/plain"); //通知客户端浏览器文件的类型。 //通知客户文件的长度: long fileLength=file.length();//取得文件的长度。 String length=String.valueOf(fileLength); response.setHeader("Content_Length",length); //设置文件的长度 response.setCharacterEncoding("gbk"); //读取文件,并发送给客户下载: FileInputStream in=new FileInputStream(file); OutputStream o=response.getOutputStream(); int n=0; while((n=in.read(b))!=-1) { o.write(b,0,n); //以文件流的形式写客户端。 } in.close(); o.close(); } catch(Exception e){ }}else{ System.out.println("该文件已被用户删除"); return new ActionForward("/netdish_show.jsp?downloadflag=downloadfaild"); } }这是下载的,但是只是单个文件的下载,打包下载我还没有弄,如果你弄出来了给我说一下呗,我现在还没有思路了!呵呵!!共同学习么!(我之前想过其保存在List然后通过遍历做,但是那样的话效果就不大一样了!!)
4. MVC怎么根据相对路径获取完整路径
java.io.File提供了两个方法:File getAbsoluteFile()返回一个File对象实例Returns the absolute form of this abstract pathname.String getAbsolutePath() 返回一个字符串Returns the absolute pathname string of this abstract pathname.java.nio.file.Path提供的PathtoAbsolutePath()Returns a Path object representing the absolute path of this path.
5. 请问各位高手Asp.net MVC4如何实现读取某文件夹下的文件的文件路径
首先用Server.MapPath("~")得到网站根目录,也就是web.config所在目录,然后用相对目录定位到其他目录。
6. mvc保存图片路径怎么写啊,
server.MapPath("~/uploadImgs/")server.MapPath("~/controller/uploadImgs/")看你意思,我该出这两个答案,你自己看路径吧! 我只是给你了路劲啊!你需要加上文件名的 string path= server.MapPath("~/uploadImgs/");file.SaveAs(path+"myFile.txt");path只是路径,你没有给出文件的名称信息
7. mvc路径选择的问题
你这样写是表明在当前文件夹中的images文件夹里找名为logo的图片。/images/logo.png是在网站根目录下查找images文件夹里的logo图片。
8. 我的javaEE项目的spring mvc controller里如何获取某个文件夹的路径呢
你可以从request中获取到他工程的根路径 然后再加上你自己的upload文件夹和里面的具体文件的路径就可以了 例如:request.getServletContext().getRealPath("/"),可以取到根路径,即工程的名称那个文件夹的路径,然后后面怎么写你应该就知道了
9. ASP.NET MVC4大文件下载的问题
刚碰到这个问题,下面的代码可以直接拷贝使用。 protected void Page_Load(object sender, EventArgs e) { DownFile1(@"D:\常用软件\win7.iso", "win7.iso"); } private void DownFile1(string filePath, string fileName) { ResponseFile(this.Request, this.Response, fileName, filePath, 1024000); } // 输出硬盘文件,提供下载 // 输入参数 _Request: Page.Request对象, _Response: Page.Response对象, _fileName: 下载文件名, _fullPath: 带文件名下载路径, _speed 每秒允许下载的字节数 // 返回是否成功 public static bool ResponseFile(HttpRequest _Request, HttpResponse _Response, string _fileName, string _fullPath, long _speed) { try { FileStream myFile = new FileStream(_fullPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); BinaryReader br = new BinaryReader(myFile); try { _Response.AddHeader("Accept-Ranges", "bytes"); _Response.Buffer = false; long fileLength = myFile.Length; long startBytes = 0; int pack = 10240; //10K bytes //int sleep = 200; //每秒5次 即5*10K bytes每秒 int sleep = (int)Math.Floor((double)(1000 * pack / _speed)) + 1; if (_Request.Headers["Range"] != null) { _Response.StatusCode = 206; string[] range = _Request.Headers["Range"].Split(new char[] { '=', '-' }); startBytes = Convert.ToInt64(range[1]); } _Response.AddHeader("Content-Length", (fileLength – startBytes).ToString()); if (startBytes != 0) { _Response.AddHeader("Content-Range", string.Format(" bytes {0}-{1}/{2}", startBytes, fileLength – 1, fileLength)); } _Response.AddHeader("Connection", "Keep-Alive"); _Response.ContentType = "application/octet-stream"; _Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(_fileName, System.Text.Encoding.UTF8)); br.BaseStream.Seek(startBytes, SeekOrigin.Begin); int maxCount = (int)Math.Floor((double)((fileLength – startBytes) / pack)) + 1; for (int i = 0; i < maxCount; i++) { if (_Response.IsClientConnected) { _Response.BinaryWrite(br.ReadBytes(pack)); Thread.Sleep(sleep); } else { i = maxCount; } } } catch { return false; } finally { br.Close(); myFile.Close(); } } catch { return false; } return true; }
10. spring mvc 怎么获取文件路径
上传时取到文件全路径其实是没有意义的,因为服务器无法操作客户端的文件。通常上传操作是直接通过流来读写。不知道你的具体需求是什么,但如果要获取客户端文件绝对路径,可以尝试一下将浏览器设置为安全级别最低