快速提问:
任何人都可以想到一个更好的方法然后RegEx或一般文本搜索来确定Uri对象(不是URL字符串)是否有文件扩展名?
欢迎任何想法.如果我在.NET框架/ Uri类中遗漏了已经做到这一点的事情,我深表歉意.
稍微复杂一点.
我接受了克雷格普的答案; 但是,因为我需要解决方案.
var hasExtension = Path.HasExtension(requestUri.AbsolutePath);
Run Code Online (Sandbox Code Playgroud)
对所有参与此事的人.要获得完整而全面的答案,您显然需要一个mime类型字典来进行进一步检查.例如,http://example/this.is.sort.of.valid.but.not.a.mime.type将返回"true" Path.HasExtension,但是,对于我需要的东西,我永远不会有这种类型的路径来在.
你如何确定何时使用$request_urivs $uri?
根据NGINX文档,$request_uri是原始请求(例如,/foo/bar.php?arg=baz包括参数,不能修改),但是$uri引用了更改的URI.
如果URI没有改变,$ uri = $ request_uri?
使用时是不正确的,更好的还是更糟的:
map $uri $new_uri {
# do something
}
Run Code Online (Sandbox Code Playgroud)
VS
map $request_uri $new_uri {
# do something
}
Run Code Online (Sandbox Code Playgroud) 我正在构建一个数据库,该数据库将存储一系列对象(例如科学论文,标本,DNA序列等)的信息,这些对象都在线存在并且可以通过URL或诸如DOI的标识符来识别.使用这些GUID作为对象的主键似乎是一个合理的想法,我跟随美味和Connotea使用GUID的md5哈希.如果将鼠标悬停在美味或Connotea书签上的编辑或删除按钮上,您将在浏览器状态栏中看到md5哈希值.例如,http:// stackoverflow /的书签是
http://delicious.com/url/e4a42d992025b928a586b8bdc36ad38d
Run Code Online (Sandbox Code Playgroud)
其中e4a42d992025b928a586b8bdc36ad38d是http:// stackoverflow /的md5哈希值.
有没有人对这种方法的利弊有看法?
对我来说,这种方法的优势(与使用由数据库本身生成的自动递增主键相反)是我必须在对象之间进行大量链接,并且通过使用md5哈希,我可以将这些链接外部存储在文件中(比如,作为数据挖掘/抓取的结果),然后将它们批量导入数据库.同样,如果必须从头开始重建数据库,则对象的URL不会更改,因为它们使用md5哈希.
我会欢迎任何关于这听起来是否明智的想法,或者是否还有其他(更好的?)方法.
我需要从任何网址中提取确切的域名.
例如,
网址:http://www.google.com - >域名:google.com
网址:http://www.google.co.uk/path1/path2 - >域名:google.co.uk
怎样才能在c#中实现?是否有完整的TLD列表或该任务的解析器?
我正在构建一个成功在onButtonClick上显示MP4视频文件的应用程序.我想预先缓冲或预加载视频的URI(远程网址),以便在点击按钮后不会延迟播放视频.我想让它立即点击播放,因此在应用启动启动画面上预加载或缓冲似乎是一个合适的解决方案.唯一的问题是我不知道如何.我有很多Android书籍,但几乎没有任何书籍可以覆盖缓冲,或者它们只涵盖音频.
任何人都可以让我知道如何缓冲以前活动的视频?
谢谢.
在某个点击事件中,我要求用户添加图像.所以我提供两种选择:
我的目标是保留与这些图像相关的"uri"列表.
如果用户选择了图库,那么我会得到图像uri(这非常简单).但如果他选择相机,那么在拍完照片之后,我就会得到那张照片的Bitmap对象.
现在我如何将该Bitmap对象转换为uri,或者换句话说,如何获取该位图对象的相对Uri对象?
谢谢.
我已经找到了用于下载图像文件的NET :: HTTP的好例子,我发现了创建临时文件的很好例子.但我不知道如何将这些库一起使用.即,如何在下载二进制文件的代码中创建临时文件?
require 'net/http'
Net::HTTP.start("somedomain.net/") do |http|
resp = http.get("/flv/sample/sample.flv")
open("sample.flv", "wb") do |file|
file.write(resp.body)
end
end
puts "Done."
Run Code Online (Sandbox Code Playgroud) 例外情况是:
file:// Uri exposed through ClipData.Item.getUri()
java.lang.Throwable: file:// Uri exposed through ClipData.Item.getUri()
at android.os.StrictMode.onFileUriExposed(StrictMode.java:1618)
at android.net.Uri.checkFileUriExposed(Uri.java:2341)
at android.content.ClipData.prepareToLeaveProcess(ClipData.java:808)
at android.content.Intent.prepareToLeaveProcess(Intent.java:7926)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1506)
at android.app.Activity.startActivityForResult(Activity.java:3832)
at android.app.Activity.startActivityForResult(Activity.java:3783)
at android.support.v4.app.FragmentActivity.startActivityFromFragment(Unknown Source)
at android.support.v4.app.Fragment.startActivityForResult(Unknown Source)
at me.chunyu.ChunyuDoctor.Utility.w.takePhoto(Unknown Source)
at me.chunyu.ChunyuDoctor.Dialog.ChoosePhotoDialogFragment.takePhoto(Unknown Source)
at me.chunyu.ChunyuDoctor.Dialog.ChoosePhotoDialogFragment.access$000(Unknown Source)
at me.chunyu.ChunyuDoctor.Dialog.b.onClick(Unknown Source)
at me.chunyu.ChunyuDoctor.Dialog.ChoiceDialogFragment.onClick(Unknown Source)
at android.view.View.performClick(View.java:4848)
at android.view.View$PerformClick.run(View.java:20270)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5643)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:960)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
Run Code Online (Sandbox Code Playgroud)
我的代码在这里:
public static void takePhoto(Fragment fragment, int token, Uri uri) {
Intent …Run Code Online (Sandbox Code Playgroud) 我需要在Mailto link我的网站上创建一个包含产品名称或产品页面网址的网站subject section.我该怎么做?
Exp:当您收到eBay有关您正在销售或购买的产品的电子邮件时,您会通过查看主题部分中的产品名称自动了解该电子邮件的产品.
我怎样才能做到这一点?
我想从相对URI中提取查询字符串和片段,即没有任何方案或主机信息的URI.
有没有更优雅的方法来做到这一点,而不是把它变成一个假的主机名的绝对URI?
var relativeUri = "/dir1/dir2/file?a=b&c=d#fragment";
var uri = new Uri(new Uri("http://example.com"), relativeUri);
var path = Uri.UnescapeDataString(String.Concat(uri.Segments));
var query = uri.Query;
var fragment = uri.Fragment;
// path = "/dir1/dir2/file", query = "?a=b&c=d", fragment = "#fragment"
Run Code Online (Sandbox Code Playgroud)