java实现文件上传--flash上传
1、http请求的头信息是“application/octet-stream”,request body 是二进制的flash图片流
2、把流中的信息读入到文件中
代码如下,代码分三个部分:
-----------------主程序-----------------
import richinfo.tools.Base64Coder;
import richinfo.tools.file.FileUtil; public class WriteFlie
{ /**
* @param args
*/
public static void main(String[] args)
{
String s = "/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSgBBwcHCggKEwoKEygaFhooKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKP/AABEIAZACJgMBEQACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APqmgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoACQASSABySamc404uc3ZLVt7JAlci+0Q/89o/++hXn/2zl3/QRD/wOP8AmX7OfZh9oh/57R/99Cj+2cu/6CIf+Bx/zD2c+zD7RD/z2j/76FH9s5d/0EQ/8Dj/AJh7OfZh9oh/57R/99Cj+2cu/wCgiH/gcf8AMPZz7MPtEP8Az2j/AO+hR/bOXf8AQRD/AMDj/mHs59mH2iH/AJ7R/wDfQo/tnLv+giH/AIHH/MPZz7MPtEP/AD2j/wC+hR/bOXf9BEP/AAOP+Yezn2YfaIf+e0f/AH0KP7Zy7/oIh/4HH/MPZz7MPtEP/PaP/voUf2zl3/QRD/wOP+Yezn2YfaIf+e0f/fQo/tnLv+giH/gcf8w9nPsw+0Q/89o/++hR/bOXf9BEP/A4/wCYezn2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ADD2c+zGSyxuqqkiM29eAQT94Vx47McJioRpUKsZSc6eikm9Jxb0T6JNvslcqMJRd2u/5FiveMgoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKAP//Z";
byte[] b = Base64Coder.decode(s);
System.out.println(b.length);
String dirPath = "D://a.jpg";
FileUtil.saveFile(dirPath,b);
}
}
-----------------解码方法(base64转为字节)-----------------
public static byte[] decode(char[] in)
{
int iLen = in.length;
if (iLen % 4 != 0)
throw new IllegalArgumentException(
"Length of Base64 encoded input string is not a multiple of 4.");
while (iLen > 0 && in[iLen - 1] == '=')
iLen--;
int oLen = (iLen * 3) / 4;
byte[] out = new byte[oLen];
int ip = 0;
int op = 0;
while (ip < iLen)
{
int i0 = in[ip++];
int i1 = in[ip++];
int i2 = ip < iLen ? in[ip++] : 'A';
int i3 = ip < iLen ? in[ip++] : 'A';
if (i0 > 127 || i1 > 127 || i2 > 127 || i3 > 127)
throw new IllegalArgumentException(
"Illegal character in Base64 encoded data.");
int b0 = map2[i0];
int b1 = map2[i1];
int b2 = map2[i2];
int b3 = map2[i3];
if (b0 < 0 || b1 < 0 || b2 < 0 || b3 < 0)
throw new IllegalArgumentException(
"Illegal character in Base64 encoded data.");
int o0 = (b0 << 2) | (b1 >>> 4);
int o1 = ((b1 & 0xf) << 4) | (b2 >>> 2);
int o2 = ((b2 & 3) << 6) | b3;
out[op++] = (byte) o0;
if (op < oLen)
out[op++] = (byte) o1;
if (op < oLen)
out[op++] = (byte) o2;
}
return out;
}
-----------------上传-----------------
public static int saveFile(String filePath, byte[] bytes)
{
FileOutputStream fos = null;
try
{
createFile(filePath);
fos = new FileOutputStream(filePath);
fos.write(bytes, 0, bytes.length);
fos.flush();
}
catch (FileNotFoundException e)
{
LOG.error("saveFileNOTFOUND,file={}", filePath, e);
}
catch (IOException e)
{
LOG.error("saveFileIO:file={}", filePath, e);
}
finally
{
StreamUtil.close(fos);
}
File file = new File(filePath);
if (file.exists())
{
return 0;
}
return -1;
}
java实现文件上传--flash上传的更多相关文章
- 使用swfupload上传超过30M文件,使用FLASH上传组件
原文:使用swfupload上传超过30M文件,使用FLASH上传组件 前一段时间会员的上传组件改用FLASH的swfupload来上传,既能很友好的显示上传进度,又能完全满足大文件的上传. 后来服务 ...
- 【docker】将Java jar文件生成镜像、上传镜像并生成镜像压缩文件
概述 将Springboot的web服务打包成Jar包后,自动化脚本将jar打包成镜像.上传镜像.并生成镜像的压缩文件: Dockerfile FROM 10.254.9.21/library/ora ...
- Flash上传文件(结合asp.net)
一.实现原理.在某些场合,我们需要使用Flash进行“文件上传”,原因是Flash 能制作出表现力丰富的UI界面. (自负又孤陋寡闻的我在这里做一个补充:Flash使用flash.net包中的File ...
- Flash上传组件之SWFUpload文件上传
一.什么是SWFUpload? SWFUpload是一个客户端文件上传工具,最初由Vinterwebb.se开发,它通过整合Flash与JavaScript技术为WEB开发者提供了一个具有丰富功能继而 ...
- java进行文件上传,带进度条
网上看到别人发过的一个java上传的代码,自己写了个完整的,附带源码 项目环境:jkd7.tomcat7. jar包:commons-fileupload-1.2.1.jar.commons-io-1 ...
- [html5+java]文件异步读取及上传核心代码
html5+java 文件异步读取及上传关键代码段 功能: 1.多文件文件拖拽上传,file input 多文件选择 2.html5 File Api 异步FormData,blob上传,图片显示 3 ...
- Java Web文件上传
参考资料:http://www.cnblogs.com/xdp-gacl/p/4200090.html 一.问题描述 Java Web文件上传需要借助一些第三方库,常用的是借助Apache的包,有两个 ...
- java web 文件上传下载
文件上传下载案例: 首先是此案例工程的目录结构:
- Java Struts文件上传和下载详解
Struts2文件上传 Struts 2框架提供了内置支持处理文件上传使用基于HTML表单的文件上传.上传一个文件时,它通常会被存储在一个临时目录中,他们应该由Action类进行处理或移动到一个永久的 ...
随机推荐
- JNDI 和JDBC的区别
1.JNDI 和JDBC的区别和联系.两者都是API,是一个标准.并不是什么产品或方法.JDBC 全称:Java Database Connectivity 以一种统一的方式来对各种各样的数据库进行存 ...
- 自定义UIDatePikerView
1.添加文件GoYearMonthDayPickerView.h .m .xib.NSDate+Helper.h .m.iCarousel.h .m 2.在Lable上显示日期 UILabel *ag ...
- mybatis 学习!
参考链接 http://www.mybatis.org/spring/zh/mappers.html http://www.cnblogs.com/fangjian0423/p/spring-myba ...
- JDBC之SqlHelper
SqlHelper工具类如下: import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.Resul ...
- zip 压缩文件 unzip查看zip压缩包内的内容
[root@GitLab tmp]# zip -r new.zip ./* adding: gitlab_key_file20161001-2668-1eu44mv (deflated 15%) ...
- yum install 安装 下载好的rpm包 会并依赖包一起安装 zoom电话会议的安装
[root@ok-T Downloads]# rpm -ivh zoom_x86_64.rpm error: Failed dependencies: libxcb-image.so.()(64bit ...
- Oracle优化-表设计
前言 绝大多数的Oracle数据库性能问题都是由于数据库设计不合理造成的,只有少部分问题根植于Database Buffer.Share Pool.Redo Log Buffer等内存模块配置不合理, ...
- html5 notification桌面提醒功能
html5 notification桌面提醒功能 <!DOCTYPE html> <html lang="en"> <head> <met ...
- ThinkPHP的field方法的用法总结
ThinkPHP的连贯操作方法中field方法有很多的使用技巧,field方法主要目的是标识要返回或者操作的字段,下面详细道来. .用于查询 在查询操作中field方法是使用最频繁的. $Model- ...
- TensorFlow
转自:http://blog.csdn.net/stdcoutzyx/article/details/51645396 本片博文是参考文献[1]的阅读笔记,特此声明 TensorFlow,以下简称TF ...