我最近问了另一个(相关的)问题,这导致了这个后续问题: 提交数据而不是输入表单的文件
通过jQuery.ajax()文档(http://api.jquery.com/jQuery.ajax/)阅读,似乎接受的dataTypes列表不包含图像.
我正在尝试使用jQuery.get(或jQuery.ajax,如果必须)检索图像,将此图像存储在Blob中并将其上传到POST请求中的另一台服务器.目前,看起来由于数据类型不匹配,我的图像最终被破坏(大小以字节不匹配等).
执行此操作的代码如下(它在coffeescript中但不应该难以解析):
handler = (data,status) ->
fd = new FormData
fd.append("file", new Blob([data], { "type" : "image/png" }))
jQuery.ajax {
url: target_url,
data: fd,
processData: false,
contentType: "multipart/form-data",
type: "POST",
complete: (xhr,status) ->
console.log xhr.status
console.log xhr.statusCode
console.log xhr.responseText
}
jQuery.get(image_source_url, null, handler)
Run Code Online (Sandbox Code Playgroud)
如何将此图像检索为blob?
我有一个包含终端输出的文本文件,其中包括各种字符代码,例如移动光标等.如何在浏览器中正确呈现?
当我有一个字符串,如:
String x = "hello\nworld";
Run Code Online (Sandbox Code Playgroud)
在使用时,如何让Java打印实际的转义字符(而不是将其解释为转义字符)System.out?
例如,在打电话时
System.out.print(x);
Run Code Online (Sandbox Code Playgroud)
我想看看:
hello\nworld
Run Code Online (Sandbox Code Playgroud)
并不是:
hello
world
Run Code Online (Sandbox Code Playgroud)
我想看到实际的转义字符用于调试目的.
我正在尝试@Autowired用Mockito模拟对象替换对象.通常的方法是使用Springockito使用xml:
<mockito:mock id="SomeMock" class="com.package.MockInterface" />
Run Code Online (Sandbox Code Playgroud)
目前我正在尝试使用Spring的JavaConfig来完成这项工作.突然之间,Java表达式比xml更加冗长:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
public class MyTestClass {
@Configuration
static class Config {
@Bean
public MockInterface somethingSpecial() {
return Mockito.mock(MockInterface.class);
}
}
@Autowired MockInterface mockObj;
// test code
}
Run Code Online (Sandbox Code Playgroud)
我发现了一个名为Springockito-annotations的库,它允许您执行以下操作:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(loader=SpringockitoContextLoader.class)
public class MyTestClass {
@Autowired @ReplaceWithMock MockInterface mockObj;
// test code
}
Run Code Online (Sandbox Code Playgroud)
显然,一大堆漂亮:)唯一的问题是,这种情况下加载程序不会允许我使用@Configuration和JavaConfig其他豆类(如果我这样做,春天抱怨说没有匹配自动连接领域的考生).
你们知道如何让Spring的JavaConfig和Springockito-annotations发挥得更好吗?或者,是否有另一种创建模拟的简写?
作为一个很好的奖励,使用Springockito和xml配置,我能够模拟出具体的类而不为其依赖项提供自动装配候选(如果有的话).没有xml这是不可能的吗?
我看到一些奇怪的行为,我希望这里有人可以对这个问题有所了解.
让我先描述一下我的设置.首先,一个简单的数据对象
public class Apple {
private String name;
public Apple withName(String name) {
this.name = name;
return this;
}
public String getName() {
return name;
}
}
Run Code Online (Sandbox Code Playgroud)
和一个测试类..
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes={TestConfig.class})
public class AppleTest {
@Autowired private Apple apples;
@Test
public void simpleTest() {
System.out.println("OBJ: "+apples);
}
}
Run Code Online (Sandbox Code Playgroud)
配置如下
@Configuration
public interface ConfigInterface {
public Apple getApple();
}
Run Code Online (Sandbox Code Playgroud)
有一个实施类
@Configuration
@Import(AbstractTestConfig.class)
public class TestConfig implements ConfigInterface {
public Apple getApple() {
return new Apple().withName("Granny apples");
}
}
Run Code Online (Sandbox Code Playgroud)
使用配置依赖...
@Configuration
public …Run Code Online (Sandbox Code Playgroud) Spring的IoC框架非常漂亮.用XML编写配置对象不是.
在Spring中加载复杂对象并将它们注入到bean中是否还有其他选择?属性文件太简单(它们只包含键值对).我对构建列表,地图等很感兴趣.我正在思考一些JSON对象.
我设置了一个具有以下结构的示例项目:
Gemfile
Guardfile
Run Code Online (Sandbox Code Playgroud)
这些文件的内容是:
# Gemfile
source :rubygems
gem "guard"
gem "guard-shell"
Run Code Online (Sandbox Code Playgroud)
和
# Guardfile
guard 'shell' do
watch(/^test\.txt$/) {|m| `echo #{m.inspect} #{File.mtime(m[0])}` }
end
Run Code Online (Sandbox Code Playgroud)
然后我继续跑guard.每当我在该文件中回显某些内容时,警卫会记录两次更改.在一个shell中:
$ echo blah >> test.txt
Run Code Online (Sandbox Code Playgroud)
在shell运行中:
> [test.txt] 2012-06-26 00:40:22 +0200
> [test.txt] 2012-06-26 00:40:22 +0200
Run Code Online (Sandbox Code Playgroud)
同样的行为可以解释vim/nano等.有趣的是,当我跑步时echo blah > test.txt,守卫只会发射一次.
知道如何防止这种情况发生或者这是否是预期的行为?
编辑:在github上打开一个问题:https://github.com/guard/guard/issues/297#issuecomment-6586266
我想将Java对象保存到文件中(稍后进行单元测试).我已经尝试过JSON,但由于我没有将类添加到我正在序列化的对象中,因此反序列化变得比它值得花费更多的努力.(现有类的getter和setter重载了不同的类型,Jackson无法弄清楚如何反序列化对象)
现在我正在探索其他途径(即序列化为二进制或其他格式).我想知道是否有任何东西可以将Java对象转储到二进制文件/文件,以便反序列化是微不足道的.我知道你可以用Serializable接口做到这一点,但我不再拥有这些没有实现这个接口的类,所以不能修改它们.