1. 用java怎麼實現從前端接收、處理並傳回視頻
1、接收前端上傳的文件
/**
* 接收多文件
*/
@RequestMapping("/upload")
public R uploadFile(@RequestParam Map<String, Object> params, HttpServletRequest request) {
// 復雜類型的request對象
MultipartHttpServletRequest mRequest = (MultipartHttpServletRequest) request;
// 獲取文件名集合放入迭代器
Iterator<String> files = mRequest.getFileNames();
while (files.hasNext()) {
// 獲取上傳文件的對象
MultipartFile mFile = mRequest.getFile(files.next());
if (mFile != null) {
//原始文件名稱
String oldfile = mFile.getOriginalFilename();
//文件後綴
String suffix = oldfile.substring(oldfile.indexOf('.'), oldfile.length());
String suffix2 = oldfile.substring(oldfile.indexOf('.')+1, oldfile.length());
/***************文件處理*********************/
}
}
}
2.接收前端上傳的文件
/**
* 接收附件
* @param request
* @return
*/
@ResponseBody
@RequestMapping(value="fileupload",method=RequestMethod.POST)
public void springUpload(HttpServletRequest request) {
//將當前上下文初始化給 CommonsMutipartResolver (多部分解析器)
CommonsMultipartResolver multipartResolver=new CommonsMultipartResolver(
request.getSession().getServletContext());
//檢查form中是否有enctype="multipart/form-data"
if(multipartResolver.isMultipart(request)) {
//將request變成多部分request
MultipartHttpServletRequest multiRequest=(MultipartHttpServletRequest)request;
//獲取multiRequest 中所有的文件名
Iterator iter=multiRequest.getFileNames();
while(iter.hasNext()){
//一次遍歷所有文件
MultipartFile file=multiRequest.getFile(iter.next().toString());
//最初上傳文件名的文件名
String oldFilename = file.getOriginalFilename();
//獲取初始文件名後綴
String fileSuffix = oldFilename.substring(oldFilename.lastIndexOf(".") +1);
/***************文件處理*********************/
}
}
3.接收前端上傳的文件
/**
* 接收文件
*
*
* @param model
* @return
* @throws IOException
* @throws IllegalStateException
*/
@RequestMapping(value = "imageupload")
public void imageUpload(MultipartFile file) throws IllegalStateException, IOException {
//文件名稱
String realFileName = file.getOriginalFilename();
//文件後綴
String suffix = realFileName.substring(realFileName.lastIndexOf(".") + 1);
/***************文件處理*********************/
}
2. Java伺服器怎麼接收手機上傳過來的文件。求具體代碼,謝謝,如果覺得懸賞太少的話可以說,我再加。急。。
android客戶端代碼:
public class MainActivity extends Activity
{
private TextView uploadInfo;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
uploadInfo = (TextView) findViewById(R.id.upload_info);
uploadFile();
}
public void uploadFile()
{
//伺服器端地址
String url = "http://192.168.0.108:8080/UploadFileServer/upload";
//手機端要上傳的文件,首先要保存你手機上存在該文件
String filePath = Environment.getExternalStorageDirectory()
+ "/1/power.apk";
AsyncHttpClient httpClient = new AsyncHttpClient();
RequestParams param = new RequestParams();
try
{
param.put("file", new File(filePath));
param.put("content", "liucanwen");
httpClient.post(url, param, new AsyncHttpResponseHandler()
{
@Override
public void onStart()
{
super.onStart();
uploadInfo.setText("正在上傳...");
}
@Override
public void onSuccess(String arg0)
{
super.onSuccess(arg0);
Log.i("ck", "success>" + arg0);
if(arg0.equals("success"))
{
Toast.makeText(MainActivity.this, "上傳成功!", 1000).show();
}
uploadInfo.setText(arg0);
}
@Override
public void onFailure(Throwable arg0, String arg1)
{
super.onFailure(arg0, arg1);
uploadInfo.setText("上傳失敗!");
}
});
} catch (FileNotFoundException e)
{
e.printStackTrace();
Toast.makeText(MainActivity.this, "上傳文件不存在!", 1000).show();
}
}
}
伺服器端代碼:
public class UploadFileServlet extends HttpServlet
{
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
// 創建文件項目工廠對象
DiskFileItemFactory factory = new DiskFileItemFactory();
// 設置文件上傳路徑
String upload = this.getServletContext().getRealPath("/upload/");
// 獲取系統默認的臨時文件保存路徑,該路徑為Tomcat根目錄下的temp文件夾
String temp = System.getProperty("java.io.tmpdir");
// 設置緩沖區大小為 5M
factory.setSizeThreshold(1024 * 1024 * 5);
// 設置臨時文件夾為temp
factory.setRepository(new File(temp));
// 用工廠實例化上傳組件,ServletFileUpload 用來解析文件上傳請求
ServletFileUpload servletFileUpload = new ServletFileUpload(factory);
// 解析結果放在List中
try
{
List<FileItem> list = servletFileUpload.parseRequest(request);
for (FileItem item : list)
{
String name = item.getFieldName();
InputStream is = item.getInputStream();
if (name.contains("content"))
{
System.out.println(inputStream2String(is));
} else if(name.contains("file"))
{
try
{
inputStream2File(is, upload + "\\" + item.getName());
} catch (Exception e)
{
e.printStackTrace();
}
}
}
out.write("success");
} catch (FileUploadException e)
{
e.printStackTrace();
out.write("failure");
}
out.flush();
out.close();
}
// 流轉化成字元串
public static String inputStream2String(InputStream is) throws IOException
{
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int i = -1;
while ((i = is.read()) != -1)
{
baos.write(i);
}
return baos.toString();
}
// 流轉化成文件
public static void inputStream2File(InputStream is, String savePath)
throws Exception
{
System.out.println("文件保存路徑為:" + savePath);
File file = new File(savePath);
InputStream inputSteam = is;
BufferedInputStream fis = new BufferedInputStream(inputSteam);
FileOutputStream fos = new FileOutputStream(file);
int f;
while ((f = fis.read()) != -1)
{
fos.write(f);
}
fos.flush();
fos.close();
fis.close();
inputSteam.close();
}
}
3. PHP 用curl發送文件給JAVA後台,JAVA可以接收文件嗎
這個完全可行啊,無論你是什麼語言發送文件到什麼語言,都是可以接收的啊。
就好像送禮和收禮,無論什麼人都可以送禮,也無論什麼人都可以收禮。
而且PHP CURL 上傳文件到JAVA端是完全沒問題的,前提是JAVA端有對應的接收代碼,要不然你送禮給人家,人家門都不讓你進,那你也沒轍啊
當然了,你如果想要代碼的話,我就給不了你了,因為JAVA~~不懂
4. java中文件傳輸時接收的文件如何保存在指定目錄,即一點接收按鈕,文件就自動保存到桌面上,不用選擇路徑
程序一初始化,就取得當前window用戶的桌面目錄,就可以保存到桌面
如win7 就取環境變數USERPROFILE下面的Desktop目錄
String saveToFolder = System.getEnv("USERPROFILE")+"\\Desktop";
5. java 方法返回的文件路徑怎麼接收
publicstaticvoidprint(Filepath,List<String>resultPath){
if(path!=null){
if(path.isDirectory()){//判斷是否為一個目錄
File[]fileArray=path.listFiles();//返回目錄下的所有文件
if(fileArray!=null){
for(inti=0;i<fileArray.length;i++){
//遞歸調用
print(fileArray[i],resultPath);
}
}
}else{
resultPath.add(path.file.getAbsolutePath());
}
}
}
6. JAVA語言,接收用戶輸入的完整文件名(包括路徑),控制台輸出其路徑,文件名,文件擴展名。
publicclassMain{
publicstaticvoidmain(Stringargs[]){
Stringstring="E:/java/ppt//chapte3.ppt";
Stringpath=string.substring(0,string.lastIndexOf("/"));
StringfileName=string.substring(string.lastIndexOf("/")+1,string.lastIndexOf("."));
Stringextension=string.substring(string.lastIndexOf(".")+1,string.length());
System.out.println("文件路徑:"+path+" 文件名:"+fileName+" 文件擴展名:"+extension);
}
}
7. java怎麼接收前端傳過來的視頻文件然後保存到本地的一個文件夾里
用spring boot裡面的MultipartFile的方法transferTo(),裡面傳一個File類型的參數,傳進去的參數要是文件,不是文件夾
8. java 如何收取從伺服器發來的文件
發送文件一般把文件用 byte[] 裝起來!再同過socket發送!你的做法只能發送文本!
我幫你測試過(你的做法)讀取後可以寫入文件!