你把这2句File file = new File("F:/test/file.dat"); InputStream is = new FileInputStream(file); 改为一句试一试: InputStream is=new FileInputStream(("F:/test/file.dat");
我用BASE64Encoder来编码从文件中读取出来的直接数组,然后再用BASE64Decoder解码由数组得到的字符串,然后再用输出流是可以将文件还原的,所以应该不存在文件破坏吧 InputStream is = new FileInputStream("F:/test/GPSfile1.dat");
byte[] b = new byte[1024]; int len = 0; String base = ""; while((len = is.read(b)) > 0) { BASE64Encoder encode = new BASE64Encoder(); base += encode.encode(b); }
BASE64Decoder decode = new BASE64Decoder(); byte[] bt = decode.decodeBuffer(base); OutputStream os = new FileOutputStream(new File("D:/text.txt")); os.write(bt); os.flush();
InputStream is = new FileInputStream(file);
改为一句试一试:
InputStream is=new FileInputStream(("F:/test/file.dat");
你把写入这个文件的代码贴过来看看
是这样的,我想把一个文件通过BASE64Encoder方法转化成为一个字符串传给服务器,然后再后台进行解码之后通过得到字节数组之后再转化成为一个文件对象
是这样的,我想把一个文件通过BASE64Encoder方法转化成为一个字符串传给服务器,然后再后台进行解码之后通过得到字节数组之后再转化成为一个文件对象
那你应该把文件的内容全部读出来啊。或者,你服务是不是http的啊?直接用http client把内容直接传上去不就结了。
是这样的,我想把一个文件通过BASE64Encoder方法转化成为一个字符串传给服务器,然后再后台进行解码之后通过得到字节数组之后再转化成为一个文件对象
那你应该把文件的内容全部读出来啊。或者,你服务是不是http的啊?直接用http client把内容直接传上去不就结了。我想应该是你说的问题,不能够单一的使用对象流,应该是成对出现的吧(也就是ObjectOutputStream和ObjectInputStream应该同时使用,这样才能保证操作的文件已经序列化了)
然后我现在使用的是HttpClient发送Http请求
请问一下,你知道怎么把一个文件对象直接用Http方式传上去么?现在我是直接用FileEntity fileEntity = new FileEntity(new File("F:/test/test.dat"), ContentType.MULTIPART_FORM_DATA);
postMethod.setEntity(fileEntity);
Httpclient.execute(postMethod);执行
我现在不知道在springmvc那边怎么接收到传递过来的文件
需要怎么写啊
@RequestMapping(value="upload", method = RequestMethod.POST)
public @RequestBody boolean uploadFile(@RequestBody ...问下这里应该怎么写啊) {
System.out.println(...);
return true;
}
嗯,应该是你说的问题,不能够单一的使用对象流,应该是成对出现的吧(也就是ObjectOutputStream和ObjectInputStream应该同时使用,这样才能保证操作的文件已经序列化了)
我是想着本来是一个文件对象,测试转化流之后能不能再转化成为一个文件对象
按道理应该能,既然是文件对象,那为何多此一举呢,直接用IO即可。那你知道怎么用HttpClient结合springmvc把文件传上去么?
http://www.cnblogs.com/blogsme/archive/2013/04/12/3016696.html
我是想着本来是一个文件对象,测试转化流之后能不能再转化成为一个文件对象
按道理应该能,既然是文件对象,那为何多此一举呢,直接用IO即可。那你知道怎么用HttpClient结合springmvc把文件传上去么?
不知道,我也在学spring mvc,但是我用的是另外一种方法,spring mvc自带的文件上传类。而且速度挺快的,至于你说的HttpClient我不太清楚,没有接触过,不过我有spring mvc的视频。正在看。
我用BASE64Encoder来编码从文件中读取出来的直接数组,然后再用BASE64Decoder解码由数组得到的字符串,然后再用输出流是可以将文件还原的,所以应该不存在文件破坏吧
InputStream is = new FileInputStream("F:/test/GPSfile1.dat");
byte[] b = new byte[1024];
int len = 0;
String base = "";
while((len = is.read(b)) > 0) {
BASE64Encoder encode = new BASE64Encoder();
base += encode.encode(b);
}
BASE64Decoder decode = new BASE64Decoder();
byte[] bt = decode.decodeBuffer(base);
OutputStream os = new FileOutputStream(new File("D:/text.txt"));
os.write(bt);
os.flush();
is.close();
os.close();
我是想着本来是一个文件对象,测试转化流之后能不能再转化成为一个文件对象
按道理应该能,既然是文件对象,那为何多此一举呢,直接用IO即可。那你知道怎么用HttpClient结合springmvc把文件传上去么?
不知道,我也在学spring mvc,但是我用的是另外一种方法,spring mvc自带的文件上传类。而且速度挺快的,至于你说的HttpClient我不太清楚,没有接触过,不过我有spring mvc的视频。正在看。哦,我也想用springmvc自带的上传文件呢,但是项目中是要用HttpClient
我是想着本来是一个文件对象,测试转化流之后能不能再转化成为一个文件对象
按道理应该能,既然是文件对象,那为何多此一举呢,直接用IO即可。那你知道怎么用HttpClient结合springmvc把文件传上去么?
不知道,我也在学spring mvc,但是我用的是另外一种方法,spring mvc自带的文件上传类。而且速度挺快的,至于你说的HttpClient我不太清楚,没有接触过,不过我有spring mvc的视频。正在看。哦,我也想用springmvc自带的上传文件呢,但是项目中是要用HttpClient
哦,那你百度一下吧,这个我还真不太清楚
File file = new File("C:\\Users\\zy\\Desktop\\tt.txt");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(file);
byte[] bs = baos.toByteArray();
ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(bs));
File f = (File)ois.readObject();
System.out.println(f.getName());
}
嗯,是要先用ObjectOutputStream序列化,然后再使用ObjectInputStream重新获取对象
我是想着本来是一个文件对象,测试转化流之后能不能再转化成为一个文件对象
按道理应该能,既然是文件对象,那为何多此一举呢,直接用IO即可。那你知道怎么用HttpClient结合springmvc把文件传上去么?
不知道,我也在学spring mvc,但是我用的是另外一种方法,spring mvc自带的文件上传类。而且速度挺快的,至于你说的HttpClient我不太清楚,没有接触过,不过我有spring mvc的视频。正在看。哦,我也想用springmvc自带的上传文件呢,但是项目中是要用HttpClient
哦,那你百度一下吧,这个我还真不太清楚呵呵,谢谢你哦