Tag: multipartform data

Java – 将OutputStream上传为HTTP文件上载

我有一个写入OutputStream的遗留应用程序,我希望将此流的内容作为文件上载到Servlet。 我已经使用JMeter测试了使用commons-fileupload的Servlet,它运行得很好。 我会使用Apache HttpClient,但它需要一个File而不仅仅是一个输出流。 我不能在本地写一个文件; 如果有一些内存中的File实现可能可行吗? 我尝试过使用HttpURLConnection (下面),但服务器响应“MalformedStreamException:Stream意外结束”。 URL url = new URL(“http”, “localhost”, 8080, “/upload”); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setDoOutput(true); String boundary = “—————————7d226f700d0”; connection.setRequestProperty(“Content-Disposition”, “form-data; name=\”file\””); connection.setRequestProperty(“Content-Type”, “multipart/form-data; boundary=”+boundary); connection.setRequestProperty(“Accept”, “application/json”); connection.setRequestMethod(“POST”); connection.setChunkedStreamingMode(0); connection.connect(); OutputStream out = connection.getOutputStream(); byte[] boundaryBytes =(“–” + boundary + “\r\n”).getBytes(); out.write(boundaryBytes); //App writes to outputstream here out.write(“\r\n”.getBytes()); […]

JSP:将文件上载到服务器的最佳实践

我使用multipart表单,Apache FileUpload等上传文件。它运行正常。 但是,我想了解在服务器中保存文件时的最佳做法或常见做法,具体如下: 命名服务器中的文件(即:什么名称更好?生成一些UUID,或者当我插入文件关联数据时由db表生成的行ID) 服务器内文件的最佳位置(什么更好?即在linux服务器中我应该使用哪个文件夹或分区。我是否必须加密上传的文件?) 当我放置一个链接来从浏览器访问文件时:更好的是直接访问,还是使用servlet?

javax.mail.internet.ParseException:在Content-Type字符串中,期望’/’,得到:

我想使用JSF实现附加文件的邮件。 我试过这段代码: private Part file; private String sendFromGMail(String from, String pass, String[] to, String subject, String body) { String status; Properties props = System.getProperties(); String host = “smtp.gmail.com”; props.put(“mail.smtp.starttls.enable”, “true”); props.put(“mail.smtp.host”, host); props.put(“mail.smtp.user”, from); props.put(“mail.smtp.password”, pass); props.put(“mail.smtp.port”, “587”); props.put(“mail.smtp.auth”, “true”); Session session = Session.getDefaultInstance(props); MimeMessage message = new MimeMessage(session); try { message.setFrom(new InternetAddress(from)); InternetAddress[] toAddress […]

Glassfish – 上传图片 – 做得对

我是最新的glassfish(3.1.2) – 因此不需要apache FileItem和getPart()没有错误。 我读到上传图像的最佳做法是将它们保存在文件系统中(例如,请参见此处 )。 我正在编辑现有的代码 – 闻到了 – 所以我有想法: Part p1 = request.getPart(“file”); System.out.println(“!!!!!P1 : ” + p1); 印刷品: !!!!!P1 : File name=DSC03660.JPG, StoreLocation=C:\_\glassfish3\glassfish\domains\domain1\generated\jsp\elkethe\upload_7cb06306_138b413999a__7ffa_00000000.tmp, size=2589152bytes, isFormField=false, FieldName=file 我的新线。 在代码中人们正在做: if (request.getParameter(“crop”) != null) { // get path on the server String outputpath = this.getServletContext().getRealPath( “images/temp/” + session.getId() + “.jpg”); // store photo InputStream […]

IE 11:发送Multipart Form Data请求时出错:Stream意外结束

我正在尝试使用jQuery AJAX调用上传文件和其他一些表单字段。 这是一个调用服务器上URL的常用函数: function uploadDocument(rquestURL,formId,callback){ $.ajax({ type : ‘POST’, url : rquestURL, cache:false, processData:false, contentType:false, data : new FormData($(“#”+formId)[0]) }).done(function(response) { callback(response); }); } 在从浏览器的开发工具中检查时,这些是相应的请求内容: 来自IE11 —————————–7dfad39402e6 Content-Disposition: form-data; name=”subject” Test —————————–7dfad39402e6 Content-Disposition: form-data; name=”message” Test test —————————–7dfad39402e6 Content-Disposition: form-data; name=”announcementAttachment”; filename=”” Content-Type: application/octet-stream —————————7dfad39402e6 铬 ——WebKitFormBoundaryp8rj3ArKDsbYw0BZ Content-Disposition: form-data; name=”subject” Test ——WebKitFormBoundaryp8rj3ArKDsbYw0BZ Content-Disposition: form-data; name=”message” […]

如何在Spring中将Multipart文件作为字符串读取?

我想使用Advanced Rest Client从我的桌面发布文本文件。 这是我的控制器: @RequestMapping(value = “/vsp/debug/compareConfig/{deviceIp:.*}”, method = RequestMethod.POST, consumes = { “multipart/form-data” }, produces = { “application/json” }) public ResponseEntity compareCLIs(HttpServletRequest request, @RequestParam(“file”) MultipartFile file, @PathVariable(“deviceIp”) String device) { log.info(file.getOriginalFilename()); byte[] bytearr = file.getBytes(); log.info(“byte length: “, bytearr.length); log.info(“Size : “, file.getSize()); } 这不会返回字节长度或文件大小的任何值。 我想将文件值读取到StringBuffer。 有人可以提供有关此的指示吗? 在将其解析为字符串之前,我不确定是否需要保存此文件。 如果是这样,我如何在工作区中保存文件?

在Servlet 3.0中以编程方式访问MultiPartConfig

我使用Servlet 3 @MultiPartConfig注释在我的应用程序中实现文件上传。 我需要在运行时设置multipart-config位置参数(而不是annotaion参数中的硬编码)。 是否有任何API可以编程访问servlet的multipart-config? 谢谢

GAE / J:如何将多部分MIME消息从appengine发布到facebook

我想将照片(存储在appengine db中)发布到facebook。 为了测试我已经在本地获得了基本的理解:我已成功使用这种forms: (我从最近的一次会话中抓住了access_token来完成这项工作。) 这是迄今为止我尝试过的关于appengine 失败的原因 : MultipartEntity mpEntity = new MultipartEntity(); ContentBody cbFile = new ByteArrayBody(imageBytes, “image/jpeg”, “w.jpg”); mpEntity.addPart(“source”, cbFile); URL url = new URL(“https://graph.facebook.com/”+albumUpload.getAlbumID()+”/photos?access_token=”+albumUpload.getAuthToken()); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setDoOutput(true); connection.setRequestMethod(“POST”); mpEntity.writeTo(connection.getOutputStream()); if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) { System.err.println(“http success!”); }else{ System.err.println(“http failed:”+connection.getResponseCode()); } 我得到一个HTTP 400 – 错误的请求。 我添加了这些以确保它正在做某事: System.out.println(“mpEntity image content length: “+cbFile.getContentLength()); […]

当我使用GZIPOutputStream将其发布到servlet时,文件已损坏

我试着在这里修改@BalusC优秀教程来发送gziped压缩文件。 这是一个有效的java类: import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.util.zip.GZIPOutputStream; public final class NetworkService { // *** EDIT THOSE AS APROPRIATE private static final String FILENAME = “C:/Dropbox/TMP.txt”; private static final String URL = “http://192.168.1.64:8080/DataCollectionServlet/”; // *** […]

Jersey REST Client:发布MultiPart数据

我正在尝试编写一个Jersey客户端应用程序,它可以将多部分表单数据发布到Restful Jersey服务。 我需要发布带有数据的CSV文件和带有元数据的JSON。 我正在使用Jersey客户端1.18.3。 这是我的代码(一些名称已被更改为公司保密)… Client client = Client.create(); WebResource webResource = client.resource(“http://localhost:8080/mariam/service/playWithDad”); FileDataBodyPart filePart = new FileDataBodyPart(“file”, new File(“C:/Users/Admin/Desktop/input/games.csv”)); String playWithDadMetaJson = “{\n” + ” \”sandboxIndicator\”: true,\n” + ” \”skipBadLines\”: false,\n” + ” \”fileSeparator\”: \”COMMA\”,\n” + ” \”blockSize\”: false,\n” + ” \”gameUUID\”: \”43a004c9-2130-4e75-8fd4-e5fccae31840\”,\n” + ” \”useFriends\”: \”false\”\n” + “}\n” + “”; MultiPart multipartEntity = […]