Tag: uri

从Uri类型android创建文件

我正在尝试从库中选择图像然后将此图像转换为文件并通过HttpPost发送它,但我总是得到FileNotFoundException 。 我的代码: 选择照片 public void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == Activity.RESULT_OK) { if (requestCode == 1) { // currImageURI is the global variable I’m using to hold the content: currImageURI = data.getData(); //Save the currImageUri (URI type) to global variable. photosHolder.getInstance().setOneIm(currImageURI); } } } 转换照片 // First Try File […]

Spring不会忽略文件扩展名

在我的Spring XML中,我有以下代码段: 据我所知,这意味着当我有一个“abc”的映射时,Spring不应该注册“abc。*”和“abc /”。 在我的一个控制器中,我有一个将图像写入响应的方法: @RequestMapping(value=”{path}”, method=RequestMethod.GET, produces=MediaType.IMAGE_PNG_VALUE) @ResponseBody public void getPath( @PathVariable String path, HttpServletResponse res) { … } 当我请求类似“abc”的东西时,这很有用,但是当我请求“abc.com”时,它会在文本中抛出406错误: The resource identified by this request is only capable of generating responses with characteristics not acceptable according to the request “accept” headers.” 当我请求“abc.img”时,“path”参数只接收文本“abc”; Spring省略了扩展名。 看来Spring似乎没有正确地忽略后缀模式。 为什么是这样? 编辑 : 我从Dirk的评论中翻译了java配置,以下XML似乎解决了这个问题: 我仍然不确定为什么原来的代码不起作用,但这解决了我的问题

Java:Windows文件上的File.toURI()。toURL()

我运行的系统是Windows XP,JRE 1.6。 我这样做: public static void main(String[] args) { try { System.out.println(new File(“C:\\test a.xml”).toURI().toURL()); } catch (Exception e) { e.printStackTrace(); } } 我得到这个: file:/C:/test%20a.xml 为什么给定的URL在C:之前没有两个斜杠? 我期待file://C:… 这是正常的行为吗? 编辑: 来自Java源代码:java.net.URLStreamHandler.toExternalForm(URL) result.append(“:”); if (u.getAuthority() != null && u.getAuthority().length() > 0) { result.append(“//”); result.append(u.getAuthority()); } 似乎文件URL的Authority部分为null或为空,因此跳过双斜杠。 那么URL的权限部分是什么,文件协议中是否真的没有?

来自commons-httpclient-3.1的URIUtil.encodePath发生了什么?

我想做问题724043中描述的内容 ,即编码URI的路径组件。 建议这样做的是来自Commons HttpClient 3.1的URIUtil 。 不幸的是,这个类似乎已经从最新版本的HttpClient中消失了。 来自HttpClient 4.1的类似命名的类URIUtils不提供相同的function。 这个类/方法是否被移动到我不知道的其他库或者它刚刚消失了? 我最好只将3.1版本中的类复制到我的代码中,还是有更简单的方法?

带有中文字符的无效URI(Java)

无法在URL中设置包含中文字符的URL连接。 它适用于拉丁字符: String xstr = “维也纳恩斯特哈佩尔球场” ; URI uri = new URI(“http”,”ajax.googleapis.com”,”/ajax/services/language/detect”,”v=1.0&q=”+xstr,null); URL url = uri.toURL(); URLConnection connection = url.openConnection(); InputStream is = connection.getInputStream() ; getInputStream()调用导致: java.lang.IllegalArgumentException: Invalid uri ‘http://ajax.googleapis.com/ajax/services/language/detect?v=1.0&q=???????????’: Invalid query

URI方案不是“文件”

我得到例外:“URI方案不是文件” 我正在做的是尝试获取文件的名称,然后从servlet中将该文件(从另一台服务器)保存到我的计算机/服务器上。 我有一个名为“url”的字符串,从上面这里是我的代码: url = Streams.asString(stream); //gets the URL from a form on a webpage System.out.println(“This is the URL: “+url); URI fileUri = new URI(url); File fileFromUri = new File(fileUri); onlyFile = fileFromUri.getName(); URL fileUrl = new URL(url); InputStream imageStream = fileUrl.openStream(); String fileLoc2 = getServletContext().getRealPath(“pics/”+onlyFile); File newFolder = new File(getServletContext().getRealPath(“pics”)); if(!newFolder.exists()){ newFolder.mkdir(); } IOUtils.copy(imageStream, […]

Java:从FilePath获取URI

我对Java知之甚少。 我需要在Windows上从FilePath(String)构造一个URI的字符串表示。 有时我得到的inputFilePath是: file:/C:/a.txt ,有时它是: C:/a.txt 。 现在,我正在做的是: new File(inputFilePath).toURI().toURL().toExternalForm() 上面的方法适用于没有file:/前缀的路径,但对于带有file:/前缀的路径file:/ ,。 toURI方法通过附加当前dir的值将其转换为无效的URI,因此路径变为无效。 请通过建议正确的方法为这两种路径获取正确的URI来帮助我。

注册并使用自定义java.net.URL协议

我试图从我的java程序中调用custom url ,因此我使用了这样的东西: URL myURL; try { myURL = new URL(“CustomURI:”); URLConnection myURLConnection = myURL.openConnection(); myURLConnection.connect(); } catch (Exception e) { e.printStackTrace(); } 我得到以下例外: java.net.MalformedURLException:未知协议:来自java.net.URL的java.net.URL。(未知来源)的CustomURI。(来自未知来源)java.net.URL。(未知来源)at com.demo.TestDemo。主(TestDemo.java:14) 如果我从浏览器触发URI然后它按预期工作但如果我尝试从Java Program调用它,那么我得到上述exception。 编辑: 以下是我尝试的步骤(我肯定错过了一些东西,请告诉我): 步骤1:在java.protocol.handler.pkgs添加自定义URI 第2步:从URL触发自定义URI 码: public class CustomURI { public static void main(String[] args) { try { add(“CustomURI:”); URL uri = new URL(“CustomURI:”); URLConnection uc = uri.openConnection(); […]