Tag: file upload

如何获得所选文件的完整path改变使用javascript,jquery-ajax的<input type ='file'>?

如何在使用<input type='file'>select文件时获取文件的完整path<input type='file'> <input type="file" id="fileUpload"> <script type="text/javascript"> function getFilePath(){ $('input[type=file]').change(function () { var filePath=$('#fileUpload').val(); }); } </script> 但是filePath var only name包含选定文件的only name ,而不包含full path 。 我在网上search,但似乎出于安全原因,浏览器(FF,铬)只是给文件的名称。 有没有其他的方式来获得所选文件的完整path?

如何设置一个值到HTML文件input?

<input type="file" /> 我如何设置这个值?

如何使用PrimeFaces p:fileUpload? Listener方法从不调用,或UploadedFile为空/抛出错误/不可用

我正在尝试使用PrimeFaces上传文件,但是上传完成后不会调用fileUploadListener方法。 这是观点: <h:form> <p:fileUpload fileUploadListener="#{fileUploadController.handleFileUpload}" mode="advanced" update="messages" sizeLimit="100000" allowTypes="/(\.|\/)(gif|jpe?g|png)$/"/> <p:growl id="messages" showDetail="true"/> </h:form> 豆: @ManagedBean @RequestScoped public class FileUploadController { public void handleFileUpload(FileUploadEvent event) { FacesMessage msg = new FacesMessage("Succesful", event.getFile().getFileName() + " is uploaded."); FacesContext.getCurrentInstance().addMessage(null, msg); } } 我在该方法上放置了一个断点,但它从来没有被调用过。 当使用mode="simple"和ajax="false" ,它被调用,但我希望它在高级模式下工作。 我正在使用Netbeans和Glassfish 3.1。

将上传的文件保存在servlet应用程序中的推荐方法

我在这里读到,不应该将文件保存在服务器中,因为它不是可移植的,事务性的并且需要外部参数。 但是,鉴于我需要一个tomcat(7)的tmp解决scheme,并且我有(相对)对服务器机器的控制,我想知道: 什么是保存文件的最佳地点? 我应该将其保存在/WEB-INF/uploads (在这里build议)还是在$CATALINA_BASE (见这里 )或…下的某个地方? JavaEE 6教程从用户 (:wtf 🙂 获取path 。 注:文件不得以任何方式下载。 我应该如何设置一个configuration参数? 我会欣赏一些代码(我宁愿给它一个相对path – 所以它至less是Tomcat便携式) – Part.write()看起来很有前途 – 但显然需要一个绝对path 我会对这种方法与数据库/ JCR存储库的缺点进行阐述感兴趣 不幸的是,@BalusC的FileServlet专注于下载文件,而他在上传文件方面的答案跳过了保存文件的部分。 一个易于转换为使用DB或JCR实现(如jackrabbit )的解决scheme将是更可取的。

在上传之前预览图像

我希望能够在上传之前预览文件(图像)。 预览操作应该全部在浏览器中执行,而不使用Ajax来上传图像。 我该怎么做?

用jQuery.ajax发送multipart / formdata

我有一个问题,使用jQuery的ajax函数发送文件到服务器端的PHP脚本。 可以用$('#fileinput').attr('files')获得文件列表,但是如何将这个数据发送到服务器呢? 使用文件input时,服务器端php脚本的结果数组( $_POST )为0( NULL )。 我知道这是可能的(尽pipe直到现在我还没有find任何jQuery解决scheme,只有Prototye代码( http://webreflection.blogspot.com/2009/03/safari-4-multiple-upload-with-progress.html ) )。 这似乎是比较新的,所以请不要提到file upload将不可能通过XHR / Ajax,因为它肯定是工作。 我需要在Safari 5中的function,FF和Chrome会很好,但不是必需的。 我现在的代码是: $.ajax({ url: 'php/upload.php', data: $('#file').attr('files'), cache: false, contentType: 'multipart/form-data', processData: false, type: 'POST', success: function(data){ alert(data); } });

jQuery Ajaxfile upload

我可以使用下面的jQuery代码使用Ajax请求的post方法执行file upload吗? $.ajax({ type: "POST", timeout: 50000, url: url, data: dataString, success: function (data) { alert('success'); return false; } }); 如果可能的话,我需要填写“数据”部分吗? 这是正确的方法吗? 我只将文件发布到服务器端。 我一直在谷歌search,但我发现是一个插件,而在我的计划,我不想使用它。 至less目前来说。

如何使用JSP / Servlet将file upload到服务器?

我怎样才能使用JSP / Servlet上传文件到服务器? 我试过这个: <form action="upload" method="post"> <input type="text" name="description" /> <input type="file" name="file" /> <input type="submit" /> </form> 但是,我只获取文件名,而不是文件内容。 当我将enctype="multipart/form-data"到<form> , request.getParameter()返回null 。 在研究期间,我偶然发现了Apache Common FileUpload 。 我试过这个: FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List items = upload.parseRequest(request); // This line is where it died. 不幸的是,servlet抛出了一个没有明确信息和原因的exception。 这里是堆栈跟踪: SEVERE: Servlet.service() for […]

如何在上传之前用javascript检查文件的MIME类型?

我已经阅读这个问题,这似乎表明,文件的MIME类型可以检查使用JavaScript在客户端。 现在,我明白,真正的验证仍然需要在服务器端完成。 我想执行一个客户端检查,以避免不必要的服务器资源浪费。 为了测试这是否可以在客户端完成,我将JPEG测试文件的扩展名更改为.png并选择要上传的文件。 发送文件之前,我使用JavaScript控制台查询文件对象: document.getElementsByTagName('input')[0].files[0]; 这是我在Chrome 28.0上得到的: File {webkitRelativePath:“”,lastModifiedDate:Tue Oct 16 2012 10:00:00 GMT + 0000(UTC),name:“test.png”,type:“image / png”,size:500055 …} 它显示类型是image/png似乎表明检查是基于文件扩展名而不是MIME类型。 我试过Firefox 22.0,它给了我相同的结果。 但根据W3C规范 ,应该实施MIME嗅探 。 我是否有权说,目前没有办法用javascript检查MIME类型? 还是我错过了什么?