我正在尝试使用Automator创建一个只调用textutil convert的服务.最终,我希望能够右键单击docx文件并转换为文本,rtf,html等.在我右键单击后,我想要一个非常简单的弹出窗口,询问所需的格式.
我看到从列表中选择操作.它没有选择.在某个地方,我想到了从列表中选择的输入是获取指定文本.然后我尝试将我的值列表放在Get Specified Text中.但是,当我运行它时,我只得到一行.我已经尝试了每行一个项目,逗号分隔,空格分隔,甚至用花括号括起来,用逗号分隔.什么都行不通.
如何让选择器对话框显示我的所有选项?此外,有没有办法将选择限制为一个项目?
谢谢!
我有一个过滤器,通过HTTPS处理BASIC身份验证.这意味着有一个名为"Authorization"的标题,其值类似于"Basic aGVsbG86c3RhY2tvdmVyZmxvdw ==".
我不关心如何处理身份验证,401加WWW-Authenticate响应头,JDBC查找或类似的东西.我的过滤器工作得很漂亮.
我担心的是我们永远不应该在java.lang.String中存储用户密码,因为它们是不可变的.一旦我完成身份验证,我就无法将String归零.该对象将驻留在内存中,直到垃圾收集器运行.这为一个坏人提供了一个更宽的窗口,可以获得核心转储,或以其他方式观察堆.
问题是我看到的唯一方法是通过该javax.servlet.http.HttpServletRequest.getHeader(String)
方法读取Authorization标头,但它返回一个String.我需要一个getHeader方法,它返回一个字节或字符数组.理想情况下,请求永远不应该是任何时间点的字符串,从Socket到HttpServletRequest以及它们之间的任何地方.
如果我切换到一些基于表单的安全性,问题仍然存在. javax.servlet.ServletRequest.getParameter(String)
也返回一个String.
这仅仅是Java EE的限制吗?
如果有人问过这个我道歉,但我似乎无法在任何地方找到它.我甚至在一个演示项目中重新创建了我的问题,以防你们想要亲眼看到它,尽管我不知道应该在哪里发布它.
我有一个基于xibless UINavigationController的应用程序.我的一些子ViewControllers在顶部的右侧有一个按钮,然后显示一个UIActionSheet.我的应用程序专为iPhone和iPad设计,所以当我准备好显示UIActionSheet时,我会:
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:[NSString stringWithFormat:@"%@ Menu", [self title]] delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Email", @"Print", nil];
[actionSheet setActionSheetStyle:UIActionSheetStyleDefault];
if ([actionSheet respondsToSelector:@selector(showFromBarButtonItem:animated:)])
[actionSheet showFromBarButtonItem:[[self navigationItem] rightBarButtonItem] animated:YES];
else [actionSheet showInView:[self view]];
[actionSheet release];
Run Code Online (Sandbox Code Playgroud)
在iPad上,我试图将UIActionSheet显示在右侧条形按钮上,在iPhone上它应该从底部滑入.所有这一切都很美妙.
不幸的是,如果你点击按钮并在iPad上显示菜单,然后点击应用程序左上方的后退按钮,菜单就不会被忽略.相反,UINavigationController尽职尽责地回弹,UIActionSheet仍然存在.如果你尝试点击菜单上的东西,你当然会崩溃.如果用户在屏幕上点击了其他任何内容而不是"后退"按钮,则菜单会正确地解除.
如果您在iPhone上尝试此测试,一切都按预期工作.没有问题.
我的演示项目有一个AppDelegate和一个ViewController就是这样.AppDelegate构建了NSDictionaries的NSDictionary,因此我有一个模型,我可以通过它来演示这个问题.ViewController显示字典的所有键,如果相应的值是NSDictionary,您可以点击它以向下钻取.
我正在尝试使用 libtiff 将 UIImage 写为 tiff。问题是,即使我将它写为每像素 1 位,当我期望更接近 100k 或更少的东西时,文件仍然在 2-5MB 范围内。
这就是我所拥有的。
- (void) convertUIImage:(UIImage *)uiImage toTiff:(NSString *)file withThreshold:(float)threshold {
TIFF *tiff;
if ((tiff = TIFFOpen([file UTF8String], "w")) == NULL) {
[[[UIAlertView alloc] initWithTitle:@"Error" message:[NSString stringWithFormat:@"Unable to write to file %@.", file] delegate:nil cancelButtonTitle:nil otherButtonTitles:@"OK", nil] show];
return;
}
CGImageRef image = [uiImage CGImage];
CGDataProviderRef provider = CGImageGetDataProvider(image);
CFDataRef pixelData = CGDataProviderCopyData(provider);
unsigned char *buffer = (unsigned char *)CFDataGetBytePtr(pixelData);
CGBitmapInfo bitmapInfo = CGImageGetBitmapInfo(image);
CGImageAlphaInfo alphaInfo = CGImageGetAlphaInfo(image);
size_t compBits …
Run Code Online (Sandbox Code Playgroud)